通过用户名从 Spotify 获取公共播放列表
Posted
技术标签:
【中文标题】通过用户名从 Spotify 获取公共播放列表【英文标题】:Get public playlist from Spotify by username 【发布时间】:2016-03-11 04:21:44 【问题描述】:我会尝试获取 Spotify 用户的公开播放列表,但我总是收到 401 错误。
"error":
"status": 401,
"message": "This request requires authentication."
我使用这个网址https://api.spotify.com/v1/users/id/playlists,其中 id 必须是来自 Spotify 的用户名。我有一个 oAuth 密钥。我用这个 javascript 请求 API,JQuery 代码:
$.ajax(
url: "https://api.spotify.com/v1/users/" + $("#username").val() + "/playlists",
Authorization: "Bearer my_OAuth_Token",
Host: "api.spotify.com",
Accept: "application/json",
type: "GET",
success: function (data)
var count = data.items.length;
for (var i = 0; i < aantal; i++)
$("#playlists").append('<option>' + data.items[i].name + '</option>');
,
error: function (data)
$("#playlists").append("<option>error</option>");
);
【问题讨论】:
【参考方案1】:您需要将Authorization
和Host
值作为标头发送,而不是作为选项对象的属性。另请注意,accepts
应为小写。试试这个:
$.ajax(
url: "https://api.spotify.com/v1/users/" + $("#username").val() + "/playlists",
headers:
Authorization: "Bearer my_OAuth_Token",
Host: "api.spotify.com"
,
accepts: "application/json",
type: "GET",
success: function (data)
var count = data.items.length;
for (var i = 0; i < aantal; i++)
$("#playlists").append('<option>' + data.items[i].name + '</option>');
,
error: function (data)
$("#playlists").append("<option>error</option>");
);
您也可以省略 Host
标头,因为我认为它不是必需的。
【讨论】:
以上是关于通过用户名从 Spotify 获取公共播放列表的主要内容,如果未能解决你的问题,请参考以下文章