我尝试使用Spotify网络API的一些功能以及SDK(专门用于查看我是否可以获得更灵活的跟踪搜索)。我没有遇到任何问题,因为它没有使用身份验证。但是,尝试将曲目添加到播放列表失败。我使用SDK提供给我的身份验证令牌,并且我有权读取/写入我的播放列表。我按如下方式构建命令:
requestFields = [requestFields stringByAppendingFormat:@"https://api.spotify.com/v1/users/my_name/playlists/0VpD39qOaV3AgYhaJsZCsm/tracks?uris=spotify:track:4iV5W9uYEdYUVa79Axb7Rh,spotify:track:1301WleyT98MSxVHPZCA6M -H ""Authorization: Bearer %@", auth.session.accessToken];
结果如下:
https://api.spotify.com/v1/users/my_name/playlists/0VpD39qOaV3AgYhaJsZCsm/tracks?uris=spotify:track:4iV5W9uYEdYUVa79Axb7Rh,spotify:track:1301WleyT98MSxVHPZCA6M%20-H%20Authorization:%20Bearer%20BQChUSzhHcb1qOwLYDr9jtYm3XU33VMi822Or8k4FgjDZ8L-qXWDQZB4o2sW9hEaSentuyTfT-cNR3oCLAV6rQqPuwP_SNCd9wy08tw9oTN7LisVTJ04VzJuxsaQWNl-uY23HTigbp9FS2fp6s2SRZy_sZRbCqS2vx7P_Uy6aqXOcxkkhPEoMk8XLeQWaY1cXuqp9VmGcLziAY6DImr5mp7jEvM8M7FWUiw0zMinGRcD7ExPLwe_zVMfM7pD
但它不起作用,当我在浏览器中尝试URL时,我得到以下内容:
{
"error": {
"status": 401,
"message": "This request requires authentication."
}
}
我是否错误地形成了网址?
答案 0 :(得分:1)
我使用AFNetworking 1.3.4来解决这个问题。我创建了一个名为spotifyHTTPClient的AFHTTPClient,并设置以下代码:
[self.spotifyHttpClient setDefaultHeader:@"Authorization" value:[NSString stringWithFormat:@"Bearer %@",[SPTAuth defaultInstance].session.accessToken]];
[self.spotifyHttpClient setDefaultHeader:@"Content-Type" value:@"application/json"];
这可以解决您的标题问题。这个链接也有帮助: http://samwize.com/2012/10/25/simple-get-post-afnetworking/
如果您只是在浏览器中运行它,那将无效,因为您的浏览器没有设置标题,但如果您从Xcode运行一个简单的测试,它将起作用