Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传递访问令牌以访问私有Spotify播放列表_Javascript_Node.js_Spotify - Fatal编程技术网

Javascript 传递访问令牌以访问私有Spotify播放列表

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

我正在使用来自的web api验证示例存储库

总之,这是一个很好的示例,使我更好地理解了身份验证代码流。现在,我正试图进入一个更困难的领域,比如用“playlistreadprivate”范围获取登录用户的播放列表

所以代码是来自authorization_code/app.js的

在app.get(/callback)callback的声明之后(在外部),我正在尝试以下操作:

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不仅为我提供了访问令牌,还提供了有关登录配置文件的其他信息。