我正在尝试使用Google Apps脚本对Spotify API执行PUT和DELETE请求。但是,当我这样做时,我收到错误:'405 Not Allowed'。
我真的很困惑,为什么这是因为我能够对同一资源发出GET请求,并且我也能够在Paw和Postman这样的程序中完成这些PUT和DELETE请求,但是当我在Google Apps脚本中执行此操作我收到405错误。这是我目前的代码:
var authorisation = "Bearer "+accessToken;
var getUrl = baseURL+'v1/users/'+user+'/playlists/'+playlist+'/tracks';
var replaceOptions = {
"method":"put",
"contentType":"application/json",
"payload":JSON.stringify({"uris": ["spotify:track:4UaGt8uW0srvzFZAwKCumD","spotify:track:5QmvryaxUQyXyFMljdgOPD","spotify:track:5NFNxnghrwogF3H6Pj66f6"]}),
"headers":{"Authorization":authorisation},
'muteHttpExceptions':true
};
var replaceResponse = UrlFetchApp.fetch(getUrl, replaceOptions);
Logger.log(replaceResponse.getAllHeaders());
Logger.log(replaceResponse.getContentText());
Logger.log(replaceResponse.getResponseCode());
我真的很感激有关正在发生的事情的一些见解。仅供参考,这是原始端点文档documentation。
答案 0 :(得分:0)
抱歉,这最终成了一个愚蠢的错误。我不知何故最终使用了Spotify认证端点的基本URL而不是API端点。
我应该在我的问题中发布完整的代码!
如果其他人错误地遇到这个愚蠢的问题,则身份验证的基本网址为:https://accounts.spotify.com
而api基本网址是:https://api.spotify.com
学习点;仅仅因为很多API都有一个标准的URL端点,而不是所有的端点都有!而且,永远不要忽视简单的事情。