Swift Spotify API错误代码405是否添加到库中?

Swift Spotify API错误代码405是否添加到库中?,swift,spotify,Swift,Spotify,我正在尝试使用Spotify API向用户库中添加曲目,但得到的响应状态为400。我用Alamofire尝试了这个请求,但由于Spotify头标记,开始出现后计数错误 以下是代码的一部分: 这是日志: Add to Library success Optional(<NSHTTPURLResponse: 0x174c25d80> { URL: https://api.spotify.com/v1/me/tracks } { status code: 405, headers {

我正在尝试使用Spotify API向用户库中添加曲目,但得到的响应状态为400。我用Alamofire尝试了这个请求,但由于Spotify头标记,开始出现后计数错误

以下是代码的一部分:

这是日志:

Add to Library success Optional(<NSHTTPURLResponse: 0x174c25d80> { URL: https://api.spotify.com/v1/me/tracks } { status code: 405, headers {
    "Access-Control-Allow-Origin" = "*";
    "Cache-Control" = "private, max-age=0";
    "Content-Length" = 0;
    Date = "Fri, 08 Sep 2017 14:29:24 GMT";
    Server = nginx;
    "access-control-allow-credentials" = true;
    "access-control-allow-headers" = "Accept, Authorization, Origin, Content-Type";
    "access-control-allow-methods" = "GET, POST, OPTIONS, PUT, DELETE";
    "access-control-max-age" = 604800;
    allow = "DELETE, GET, HEAD, OPTIONS, PUT";
} })

我错过了什么?

HTTP错误405表示您试图在REST请求中使用在特定端点上无效的方法

如果您检查SpotifyWebAPI的名称,它会清楚地说明用于/me/tracks端点的有效HTTP谓词是:DELETE、GET和PUT。不允许POST,因此会出现错误

只需将request.httpMethod=post更改为request.httpMethod=put,错误应该得到解决


一些通用的建议:当本地SWIFT等效项存在NURL而不是URL时,不使用基础类型,并且符合快速命名约定,即变量和函数名的SAMELCASE为SpTIFYYADDROTILARRY应为SpTIFYADDROTILBARARY。8000秒的超时时间间隔似乎也不太现实。

请求正文中也没有发送JSON数据。研究如何将字符串转换为JSON。
Add to Library success Optional(<NSHTTPURLResponse: 0x174c25d80> { URL: https://api.spotify.com/v1/me/tracks } { status code: 405, headers {
    "Access-Control-Allow-Origin" = "*";
    "Cache-Control" = "private, max-age=0";
    "Content-Length" = 0;
    Date = "Fri, 08 Sep 2017 14:29:24 GMT";
    Server = nginx;
    "access-control-allow-credentials" = true;
    "access-control-allow-headers" = "Accept, Authorization, Origin, Content-Type";
    "access-control-allow-methods" = "GET, POST, OPTIONS, PUT, DELETE";
    "access-control-max-age" = 604800;
    allow = "DELETE, GET, HEAD, OPTIONS, PUT";
} })