Javascript 传递访问令牌以访问私有Spotify播放列表
我正在使用来自的web api验证示例存储库 总之,这是一个很好的示例,使我更好地理解了身份验证代码流。现在,我正试图进入一个更困难的领域,比如用“playlistreadprivate”范围获取登录用户的播放列表 所以代码是来自authorization_code/app.js的 在app.get(/callback)callback的声明之后(在外部),我正在尝试以下操作:Javascript 传递访问令牌以访问私有Spotify播放列表,javascript,node.js,spotify,Javascript,Node.js,Spotify,我正在使用来自的web api验证示例存储库 总之,这是一个很好的示例,使我更好地理解了身份验证代码流。现在,我正试图进入一个更困难的领域,比如用“playlistreadprivate”范围获取登录用户的播放列表 所以代码是来自authorization_code/app.js的 在app.get(/callback)callback的声明之后(在外部),我正在尝试以下操作: app.get('/playlists', function(req, res, body) { var sc
app.get('/playlists', function(req, res, body) {
var scope = 'playlist-read-private';
var access_token = body.access_token;
console.log(access_token);
});
$.ajax({
url: '/playlist',
data: {
'access_token': access_token
}
})
...
登录访问令牌在终端中未定义,即使我没有将其定义为主体的一部分,它也是未定义的
问题是:如何获取在url栏上传递的访问令牌并使用它请求用户数据 如果您遵循相同的方法,则在
public/index.html
文件中,您可以通过查看refresh\u token
示例请求来查看它们是如何向路由传递数据的。要将access\u令牌
传递到您的/playlists
路径,您需要一个ajax
请求
请求的外观如下所示:
app.get('/playlists', function(req, res, body) {
var scope = 'playlist-read-private';
var access_token = body.access_token;
console.log(access_token);
});
$.ajax({
url: '/playlist',
data: {
'access_token': access_token
}
})
...
然后在你的app.get('/playlists')
中,你可以从req.query
中引用
app.get('/playlist', function(req, res) {
console.log(req.query); // will return { access_token: XYZ }
});;
身份验证流应为:1。请求登录,2。使用返回的代码获取访问和刷新令牌,3。使用访问令牌进行呼叫,4。到期时,使用刷新令牌获取新的访问令牌。您将访问和刷新令牌存储在系统(例如数据库)中,并在初始登录流期间设置范围。作用域链接到访问/刷新令牌,因此指示您可以通过API调用什么。嘿,感谢您的回答,它按照您描述的方式工作!但是我可以单独获取密钥吗?比如:访问_令牌并将其传递给app.js中的变量?!执行req.query不仅为我提供了访问令牌,还提供了有关登录配置文件的其他信息。