2013-06-27 21 views
8
Server response : HTTP Status 415 - Unsupported Media Type 

GoogleのスクリプトからURLにJSONデータを投稿しようとしていますが、上記のエラーが発生しています。ここ は私のコードです:Google Appsスクリプトを使用してJSONデータを投稿する

function myFunctionpost() { 
    var url = "http://abc.xyz.org/jira/rest/api/2/issue"; 
    var data = {"project":{ "key": "KEY"},"summary": "create issue.", "description":     "Creating of an issue from google spreadsheet using the REST API", "issuetype": {"name": "Bug"}} ; 
    var payload = JSON.stringify(data); 

    var headers = { "Accept":"application/json", 
       "Content-Type":"application/json", 
       "Authorization":"Basic _authcode_" 
      }; 

    var options = { "method":"POST", 
       "headers": headers, 
       "payload" : payload 
       }; 
    var response = UrlFetchApp.fetch(url, options); 
Logger.log(response); 

} 

私は、コンテンツタイプを変更しようとしたが、私はURLから取得することができていますので、【選択AUTHCODEが働いている動作しませんでした。

どこが間違っているのですか?ありがとう。あなたの選択肢に入れて

答えて

14

はこのようcontentTypeのオブジェクト:

var options = { "method":"POST", 
      "contentType" : "application/json", 
      "headers": headers, 
      "payload" : payload 
      }; 

たContentTypeは、この方法が受け入れフェッチ高度なパラメータの一つです。詳細はhereを参照してください。

+0

UrlFetchApp.fetchは、()/は、「ヘッダ」オプションで指定された「Content-Typeの」ヘッダーを上書きします無視することを。だから、迷惑、それは大きな助けた助けてくれてありがとうたくさん... .. – Shilpi

+1

を私はこの答えを見つけ出すまで、私が間違っていたことを理解しようと1時間以上私の髪を裂いていた! –

2

それはかなり反直感的なUrlFetchApp構文であるが、この:

POST /api/ra/v1/ping HTTP/1.0 
Host: app.kigo.net 
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ= 
Content-Type: application/json 

このカールにうまく変換します:

カールhttps://app.kigo.net/api/ra/v1/ping -X POST -H "認可: 基本dXNlcm5hbWU6cGFzc3dvcmQ =" - H "コンテンツタイプ:アプリケーション/ json"

Google App Scriptでこれを翻訳してください:

function myFunction() { 

    var headers = { 
    "Authorization" : "Basic dXNlcm5hbWU6cGFzc3dvcmQ=" 
    }; 

    var options = 
    { 
    "contentType" : "application/json", 
    "method" : "post", 
    "headers" : headers, 
    "payload" : "test" 
    }; 

    var response = UrlFetchApp.fetch("https://app.kigo.net/api/ra/v1/ping", options); 
} 
関連する問題