405使用Google Apps脚本使用Spotify API进行发布/置位呼叫时出错

时间:2017-10-24 06:16:17

标签: javascript google-apps-script spotify

我正在尝试使用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

1 个答案:

答案 0 :(得分:0)

抱歉,这最终成了一个愚蠢的错误。我不知何故最终使用了Spotify认证端点的基本URL而不是API端点。

我应该在我的问题中发布完整的代码!

如果其他人错误地遇到这个愚蠢的问题,则身份验证的基本网址为:https://accounts.spotify.com

而api基本网址是:https://api.spotify.com

学习点;仅仅因为很多API都有一个标准的URL端点,而不是所有的端点都有!而且,永远不要忽视简单的事情。