Quiero ejecutar una API de Zoho CRM y escribir en mi 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>");
y tengo un error
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")
pero si pego esta URL en mi Chrome o FF se ejecuta !!!
¿Sabe por qué tengo este error en GAS y no en Chrome?
Gracias
Respuestas
1 para la respuesta № 1Hay dos formas de UrlFetchApp.fetch()
:
Estás utilizando la primera forma, pero el parámetroLa información que usted proporciona no está validando porque no es solo una URL. Debería utilizar la segunda forma, con los valores que pondría después de "?" como opciones
Prueba esto:
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);