2017-10-24 35 views
0

Google Apps Scriptを使用してSpotify APIにPUTおよびDELETEリクエストを実行しようとしています。しかし私がこれをすると、「405 Not Allowed」というエラーが出ます。405 Google Apps Scriptを使用してSpotify APIを使用してPost/Putコールを作成するときのエラー

私は同じリソースにGETリクエストをOKにすることができ、PawやPostmanのようなプログラムでこれらのPUTとDELETE要求をうまくやり遂げることができるので、本当になぜこれが困っていますか?私はGoogle Apps Scriptでこれを行いますが、私は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()); 

私は本当に何が起こっているかについていくつかの洞察に感謝します。 FYIこれはオリジナルのエンドポイント文書hereです。

+0

JSON.Stringifyを削除してペイロードにJSONを直接保存しないでください。 – St3ph

+0

はい、私はコピーし、ペイロードにpostmanから作業中のjson文字列を貼り付けました – user1190132

答えて

0

申し訳ありませんが、これは愚かなエラーに終わった。私は何とかSpotifyの認証エンドポイントからAPIエンドポイントではなくベースURLを使用してしまいました。

私は質問に完全なコードを投稿してください。

誰が誤ってこの愚かな問題に遭遇した場合は、認証のベースURLは次のとおりです。https://accounts.spotify.com

APIベースURLがあるのに対し:学習のhttps://api.spotify.com

ポイント。なぜなら、多くのAPIには、標準URLエンドポイントが1つしかないからです。そして、決して単純なことを見過ごさない。

関連する問題