【问题标题】:405 Error when using Google Apps Script to make Post/Put calls using Spotify API使用 Google Apps 脚本使用 Spotify API 进行 Post/Put 调用时出现 405 错误
【发布时间】:2017-10-24 06:16:17
【问题描述】:

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

对于正在发生的事情,我真的很感激。仅供参考,这是原始端点文档here

【问题讨论】:

  • 您是否尝试删除您的 JSON.Stringify 以将 json 直接保留在您的有效负载中?
  • 是的,我什至从邮递员那里复制并粘贴了工作 json 字符串到有效负载中

标签: javascript google-apps-script spotify


【解决方案1】:

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

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

如果其他人不小心遇到这个愚蠢的问题,身份验证的基本 URL 是:https://accounts.spotify.com

而 api 基本 url 是:https://api.spotify.com

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-30
    • 2019-05-08
    • 2019-07-18
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 2014-08-31
    • 2016-04-01
    相关资源
    最近更新 更多