通过用户名从 Spotify 获取 public 个播放列表
Get public playlist from Spotify by username
我将尝试获取 Spotify 用户的 public 播放列表,但我总是遇到 401 错误。
{
"error": {
"status": 401,
"message": "This request requires authentication."
}
}
我使用这个 url https://api.spotify.com/v1/users/id/playlists 其中 id 必须是来自 Spotify 的用户名。我有一个 oAuth 密钥。我用 JavaScript、JQuery 代码请求 API:
$.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>");
}
});
您需要将 Authorization
和 Host
值作为 header 发送,而不是作为选项 object 的属性发送。还要注意 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
header,因为我认为这不是必需的。
我将尝试获取 Spotify 用户的 public 播放列表,但我总是遇到 401 错误。
{
"error": {
"status": 401,
"message": "This request requires authentication."
}
}
我使用这个 url https://api.spotify.com/v1/users/id/playlists 其中 id 必须是来自 Spotify 的用户名。我有一个 oAuth 密钥。我用 JavaScript、JQuery 代码请求 API:
$.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>");
}
});
您需要将 Authorization
和 Host
值作为 header 发送,而不是作为选项 object 的属性发送。还要注意 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
header,因为我认为这不是必需的。