1

我可以从 API 中获取用户对歌曲的评分,如下所示。当 API 返回成功响应时,我了解我的开发人员令牌和用户令牌格式正确且有效。

$ echo $url  
https://api.music.apple.com/v1/me/ratings/songs/1249510807  
$ curl -H "Authorization: Bearer $token" -H "Music-User-Token: $userToken" $url  
{"data":[{"id":"1249510807","type":"ratings","href":"/v1/me/ratings/songs/1249510807","attributes":{"value":1}}]}  

但是,当我尝试删除评级或设置它时,API 返回 HTTP 501。

要删除用户评分,我将按照 API文档中的说明发送 HTTP DELETE :

$ curl -D - -X "DELETE" -H "Authorization: Bearer $token" -H "Music-User-Token: $userToken" $url  
HTTP/1.1 501 Not Implemented  
Server: AkamaiGHost  
Mime-Version: 1.0  
Content-Type: text/html  
Content-Length: 298  
Expires: Sun, 02 Jul 2017 09:18:20 GMT  
Date: Sun, 02 Jul 2017 09:18:20 GMT  
Connection: close  


<HTML><HEAD>  
<TITLE>Unsupported Request</TITLE>  
</HEAD><BODY>  
<H1>Unsupported Request</H1>  
DELETE to http&#58;&#47;&#47;api&#46;music&#46;apple&#46;com&#47;v1&#47;me&#47;ratings&#47;songs&#47;1249510807 not supported.<P>  
Reference&#32;&#35;8&#46;296cd417&#46;1498987100&#46;11cbeb73  
</BODY></HTML> 

要将评级设置为不同的值,我使用带有 JSON 有效负载的 HTTP PUT,如文档中所述:

$ curl -D - -X "PUT" --data "{\"type\":\"rating\",\"attributes\":{\"value\":-1}}" -H "Content-type: application/json" -H "Authorization: Bearer $token" -H "Music-User-Token: $userToken" $url  
HTTP/1.1 501 Not Implemented  
Server: AkamaiGHost  
Mime-Version: 1.0  
Content-Type: text/html  
Content-Length: 295  
Expires: Sun, 02 Jul 2017 09:16:55 GMT  
Date: Sun, 02 Jul 2017 09:16:55 GMT  
Connection: close  


<HTML><HEAD>  
<TITLE>Unsupported Request</TITLE>  
</HEAD><BODY>  
<H1>Unsupported Request</H1>  
PUT to http&#58;&#47;&#47;api&#46;music&#46;apple&#46;com&#47;v1&#47;me&#47;ratings&#47;songs&#47;1249510807 not supported.<P>  
Reference&#32;&#35;8&#46;296cd417&#46;1498987015&#46;11caa18d  
</BODY></HTML>  

HTML 响应将 URL 转储为 HTTP,但我验证我的初始请求是 HTTPS。

有没有人执行这些请求没有问题?

提前致谢。

更新:截至 2017 年 7 月 12 日,API 正在返回记录在案的响应。我猜这是 API 方面的错误,现在已修复。

4

0 回答 0