/ APIを使用した/ UrlFetchApp.fetch - google-apps-script、zoho

UrlFetchApp.fetch with API - google-apps-script、zoho

1つのZoho CRM APIを実行して、私のGASに書きたい

  var result=UrlFetchApp.fetch("https://crm.zoho.com/crm/private/xml/Leads/insertRecords?authtoken=XXXXX&scope=crmapi&newFormat=1&xmlData=<Leads><row no="1"><FL val="Company">Your Company</FL><FL val="First Name">Hannah</FL><FL val="Last Name">Smith</FL><FL val="Email">testing@testing.com</FL></row></Leads>");

と私は1つのエラーがある

Argument non valide : https://crm.zoho.com/crm/private/xml/Leads/insertRecords?authtoken=XXXXXX&scope=crmapi&newFormat=1&xmlData=<Leads><row%20no="1"><FL%20val="Company">Your%20Company</FL><FL%20val="First%20Name">Hannah</FL><FL%20val="Last%20Name">Smith</FL><FL%20val="Email">testing@testing.com</FL></row></Leads> (ligne 35, fichier "MySQLtoZohoCRM")

私のChromeやFFにこのURLを貼り付けると、実行されます!

doc API

なぜ私はGASではなく、Chromeでこのエラーがあるのか​​知っていますか?

ありがとう

回答:

回答№1は1

次の2つの形式があります。 UrlFetchApp.fetch()

あなたは最初のフォームを使用していますが、パラメータ単なるURLではないため、検証に失敗しています。 2番目のフォームを使用して、 "?"の後に置く値を使用する必要があります。オプションとして。

これを試して:

var url = "https://crm.zoho.com/crm/private/xml/Leads/insertRecords";
var xmlData = "<Leads><row no="1"><FL val="Company">Your Company</FL><FL val="First Name">Hannah</FL><FL val="Last Name">Smith</FL><FL val="Email">testing@testing.com</FL></row></Leads>";
var options =
{
"authtoken" : "XXXXX",
"scope" : "crmapi",
"newFormat" : "1",
"xmlData" : encodeURIComponent(xmlData)
}
var result=UrlFetchApp.fetch(url,options);

var output = Utilities.jsonParse(result.getContentText());
Logger.log(output);