0

Google スクリプトを使用して Basecamp API に新しいメッセージを投稿することに関して少し助けた後。

以下に貼り付けた関数を作成しましたが、これをデバッガーで実行すると、Basecamp から<title>属性が空ではないという 422 応答が返されます。

<?xml version="1.0" encoding="UTF-8"?> <errors> <error>Title can't be blank</error> </errors>

Chrome の「Advanced Rest Client」を介して同じ POST を試みましたが、投稿は成功しました。

function postBasecampApi(endpoint, payload) {

  var xml = ""+
    '<request>'+
      '<post>'+
        '<category-id>123890662</category-id>'+
          '<title>sting</title>'+
            '<body>testing</body>'+
              '</post>'+
                '<notify>test notify</notify>'+
                  '</request>';

  var url = basecampCompleteUrl + '/projects/12029591/posts.xml';  

  var headers = {
    Authorization : 'Basic ' +  Utilities.base64Encode(user + ':' + password)
  }
  var opt = {
    'method': 'POST',
    'payload': xml,
    'headers' : headers
  };

  var response = UrlFetchApp.fetch(url, opt);

  return Xml.parse(response.getContentText(), false);
}

助けてくれてありがとう

4

1 に答える 1