Deezer API 访问令牌

Deezer API access token

我已尝试获取 deezer API 的访问令牌,但在发送请求时我一直收到 'wrong code' 消息。 这是上述要求:

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

应用程序 ID 和客户端密码位于 developers.deezer。com/myapps 所以这两个我不会错的。

对于代码,我使用的是 deezer 自己提供的 php 代码示例(您可以在此处查看:https://developers.deezer.com/api/oauth) 上述示例代码是一个简单的页面,让您同意像往常一样让您的应用程序使用您的数据。 最后,您将被重定向到一个带有 url 的空白页面(别担心,代码和范围是假的):

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

无论如何,我已经将(假)代码 fr14364f27b39760284c5698 复制并粘贴到一个自制的 node js 程序中(为什么是 nodejs?因为我更习惯使用 node 来发送请求)(另外,这里的值也是假的):

'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!");
});

每次我收到遗体'wrong code'。 对我来说,它只能意味着两件事:

PS:如果您想查看 deezer 代码示例,请告诉我,我的 wamp 服务器上的内容与他们的内容没有什么不同,但也许您会看到一些不添加的内容向上。

我认为,您应该在所有变量之后加上分号。

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

第 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 参数。您可以获得此代码并在下一步中使用它来获取访问令牌。 * REDIRECT_URI 可能是这样的。 http://localhost/deezerAPI/test1.php。所以你可以在这个文件中得到 CODE 参数。

第 2 步

https://connect.deezer.com/oauth/access_token.php?app_id=YOU_APP_ID&secret=YOU_APP_SECRET&code=THE_CODE_FROM_ABOVE
  • 然后用你刚刚收到的CODE调用这个url,然后你就可以获得访问令牌。现在您可以使用此访问令牌发出任何 API 请求。就是这样