(Spotify Web API) 创建新播放列表 - POST 请求返回 'Error 403 (Forbidden)'
(Spotify Web API) Create New Playlist - POST request returning 'Error 403 (Forbidden)'
这是关于如何创建新播放列表的 link 网络 API 注释。 https://developer.spotify.com/web-api/create-playlist/
据我了解,POST 请求 url https://api.spotify.com/v1/users/{user_id}/playlists
。这是在传递访问令牌和数据时请求的。数据的内容类型为 'application/json'。
出于某种原因,此操作失败并在控制台中返回错误 403(禁止访问)。
有什么我想念的吗?
//(playlistName, userId, accessToken) are passed to this.
var urlString = 'https://api.spotify.com/v1/users/' + userId + '/playlists';
var jsonData = {
"name": playlistName,
"public": false
};
$.ajax({
type: 'POST',
url: urlString,
data: jsonData,
dataType: 'json',
headers: {
'Authorization': 'Bearer ' + accessToken
},
contentType: 'application/json',
success: function(result) {
console.log('Woo! :)');
},
error: function() {
console.log('Error! :(');
}
})
在尝试了你的示例后,我在填写虚假数据时得到了 401 unauthorized
。所以你被授权了,但是API确实没有授予你权限(403 forbidden
)。
请查看授权指南。我很确定,你的错误就在那里。尤其要看看 scope
。您可能只是没有在登录时授予足够的权限。因此最终只有 public 访问权限,其中不包括添加播放列表。
我从 API 文档中引用:
To be able to create private playlists, the user must have granted the
playlist-modify-private
scope.
这是关于如何创建新播放列表的 link 网络 API 注释。 https://developer.spotify.com/web-api/create-playlist/
据我了解,POST 请求 url https://api.spotify.com/v1/users/{user_id}/playlists
。这是在传递访问令牌和数据时请求的。数据的内容类型为 'application/json'。
出于某种原因,此操作失败并在控制台中返回错误 403(禁止访问)。
有什么我想念的吗?
//(playlistName, userId, accessToken) are passed to this.
var urlString = 'https://api.spotify.com/v1/users/' + userId + '/playlists';
var jsonData = {
"name": playlistName,
"public": false
};
$.ajax({
type: 'POST',
url: urlString,
data: jsonData,
dataType: 'json',
headers: {
'Authorization': 'Bearer ' + accessToken
},
contentType: 'application/json',
success: function(result) {
console.log('Woo! :)');
},
error: function() {
console.log('Error! :(');
}
})
在尝试了你的示例后,我在填写虚假数据时得到了 401 unauthorized
。所以你被授权了,但是API确实没有授予你权限(403 forbidden
)。
请查看授权指南。我很确定,你的错误就在那里。尤其要看看 scope
。您可能只是没有在登录时授予足够的权限。因此最终只有 public 访问权限,其中不包括添加播放列表。
我从 API 文档中引用:
To be able to create private playlists, the user must have granted the
playlist-modify-private
scope.