我想执行一个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>');
我有一个错误
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中,则会运行!!!
你知道为什么我在GAS中出现此错误而不是Chrome中的错误吗?
由于
答案 0 :(得分:1)
UrlFetchApp.fetch()
有两种形式:
您正在使用第一个表单,但您提供的参数未通过验证,因为它不仅仅是一个URL。你应该使用第二种形式,你会在'?'后面加上你的价值作为选项。
试试这个:
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);