Токен доступа Deezer API - PullRequest
       44

Токен доступа Deezer API

0 голосов
/ 11 февраля 2020

Я пытался получить свой токен доступа для deezer API, но я продолжаю получать сообщение «неправильный код» при отправке запроса. Вот упомянутый запрос:

'https://connect.deezer.com/oauth/access_token.php?app_id=' + appID + '&secret=' + clientSecret + '&code=' + code;

Идентификатор приложения и секретный ключ клиента находятся по адресу developers.deezer.com/myapps, поэтому я не могу ошибаться с этими двумя.

Для код, который я использую php пример кода, предоставленный самим deezer (вы можете посмотреть его здесь: https://developers.deezer.com/api/oauth). Этот пример кода представляет собой простую страницу, на которой вы соглашаетесь разрешить подачу заявления. ваши данные, как обычно. В конце вы будете перенаправлены на пустую страницу с таким URL-адресом (не волнуйтесь, код и область являются поддельными):

http://localhost/deezerAPI/test1.php?code=fr14364f27b39760284c5698&state=27f24b97ab810mb3176d42fh

В любом случае, я скопировал и вставил ( фальшивый) код fr14364f27b39760284c5698 для самодельной node js программы (почему nodejs? потому что мне гораздо удобнее использовать узел для отправки запросов) (также, значения здесь тоже фальшивые):

'use strict';

const express = require('express');
var request = require('request');

const app = new express();

var appID = '<appId>'
var clientSecret = '<clientSecret>';
var code = 'fr14364f27b39760284c5698'

var requestURI = 'https://connect.deezer.com/oauth/access_token.php?app_id=' + appID + '&secret=' + clientSecret + '&code=' + code;

request(requestURI, (error, response, body) => {
  console.log("Recieved body'" + body + "'");
});

app.listen(8081, () => {
    console.log("WebClient is up!");
});

И каждый раз, когда я получаю тело «неправильный код». Для меня это может означать только две вещи:

  • пример кода php дал мне неверный код или я написал что-то не так (например, идентификатор приложения или секрет клиента), но это маловероятно, так как я проверил то, что написал несколько раз.

  • код node js, который я сделал, неверен (в том смысле, как я делаю мой запрос на пример) или, как и прежде, Информация, которую я поместил, неверна (но я также проверил несколько раз ...). У меня нет решений, так что, если у вас есть какие-либо подсказки, скажите мне. Заранее спасибо.

PS: если вы хотите увидеть пример кода deezer, скажите, что у меня есть на моем сервере Wamp, не отличается от того, что у них есть, но, возможно, вы будете увидеть то, что не складывается.

Ответы [ 2 ]

0 голосов
/ 11 февраля 2020

ШАГ 1

   https://connect.deezer.com/oauth/auth.php?app_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URI&perms=basic_access,email
  • Назовите этот URL (конечно, замените переменные вашим приложением), тогда пользователь будет перенаправлен на форму входа в deezer, если клиент аутентифицирован, он будет перенаправляется на {REDIRECT_URL} вместе с CODE param. Вы можете получить этот код и использовать его для получения токена доступа на следующем шаге. * REDIRECT_URI может быть что-то вроде этого. http://localhost/deezerAPI/test1.php. Таким образом, вы можете получить CODE param в этом файле.

STEP 2

https://connect.deezer.com/oauth/access_token.php?app_id=YOU_APP_ID&secret=YOU_APP_SECRET&code=THE_CODE_FROM_ABOVE
  • Затем вызвать этот URL с CODE, который вы только что получили, затем вы можете получить токен доступа. Теперь вы можете делать любые запросы API с этим токеном доступа. Вот и все
0 голосов
/ 11 февраля 2020

Я думаю, что вам следует ставить точку с запятой после всех переменных.

var appID = '<appId>';
var clientSecret = '<clientSecret>';
var code = 'fr14364f27b39760284c5698';
...