【问题标题】:add track to a playlist spotify api web将曲目添加到播放列表 spotify api web
【发布时间】:2017-06-16 03:25:56
【问题描述】:

我尝试将曲目添加到协作播放列表,这是我的访问令牌代码

$credentials = 'client_id:client_secret';

$headers = array(
           'Accept: */*',
           'Content-Type: application/x-www-form-urlencoded',
           'User-Agent: runscope/0.1',
           'Authorization: Basic '.base64_encode($credentials));

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://accounts.spotify.com/api/token');
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,'grant_type=client_credentials');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$response = json_decode($response, true);
echo $token = $response['access_token'];
curl_close($ch);

在我的页面中,用户未登录,因此我创建了协作播放列表

这是我的add playlist 函数

var addplaylist = function (id,token) {

      $.ajax({
        dataType: 'text',
        type: 'post',
        url: 'https://api.spotify.com/v1/users/entelperú/playlists/6sU8XOS7BLicR3COsc0Rhp/tracks?uris=spotify:track:'+ id,
        headers: {
          Authorization: "Bearer "+token,
        },success: function (response) {
          alert(response);
        }
    });
  };

但它会返回这个

{ “错误” : { “状态”:403, "message" : "这个请求需要用户认证。" } }

我不知道发生了什么,我已经创建了访问令牌。

【问题讨论】:

    标签: javascript php ajax spotify


    【解决方案1】:

    { "error" : { "status" : 403, "message" : "此请求需要用户 身份验证。” } }

    您向Add a Track to a Playlist 发出的请求需要连接到用户的访问令牌。

    您使用的访问令牌可以来自三个不同的 oAuth 2.0 流程。其中一个流程是客户端凭证流程,它返回匿名访问令牌。或者更确切地说,访问令牌根本没有连接到任何用户。在Authorization Guide 中阅读有关流程的更多信息。

    对于某些端点,可以使用匿名访问令牌。就像检索播放列表一样。但是许多操作,例如添加曲目、关注艺术家和保存曲目,都需要用户明确授予您的应用程序代表他们执行操作的权限。此权限也称为Scopes

    因此,您需要使用与您现在使用的不同的 oAuth 2.0 流程。哪一个取决于您正在构建的应用程序类型。重要的是您需要用户批准您的应用程序正在执行的操作。

    【讨论】:

    • Michael 但是在 mi 应用程序中用户没有登录所以永远不会为用户获取令牌,播放列表是我需要的,如何添加曲目?
    • 嗯,您需要一个连接到用户的访问令牌。该用户可以是您自己的。您可以将访问令牌存储在服务中的某个位置,并在需要时使用它。听起来您确实想查看授权代码流程,因为您可能需要刷新令牌。请阅读开发者网站上的授权指南,您需要的答案就在那里。
    猜你喜欢
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 2017-04-28
    • 2017-06-14
    • 1970-01-01
    • 2018-07-10
    相关资源
    最近更新 更多