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'。
对我来说,它只能意味着两件事:
deezer 给我的 php 代码示例是错误的,或者我在其中写错了一些东西(比如应用程序 ID 或客户端密码)但这不太可能,因为我已经检查了我写的内容好几次了。
我编写的节点 js 代码是错误的(在我请求示例的方式中),或者像以前一样,我输入的信息是错误的(但我也检查了几个次...)。
我没有解决方案,所以如果你们有任何线索,请告诉我。提前致谢。
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 请求。就是这样
我已尝试获取 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'。 对我来说,它只能意味着两件事:
deezer 给我的 php 代码示例是错误的,或者我在其中写错了一些东西(比如应用程序 ID 或客户端密码)但这不太可能,因为我已经检查了我写的内容好几次了。
我编写的节点 js 代码是错误的(在我请求示例的方式中),或者像以前一样,我输入的信息是错误的(但我也检查了几个次...)。 我没有解决方案,所以如果你们有任何线索,请告诉我。提前致谢。
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 请求。就是这样