Google 电子表格 - 从 Zoho 获取记录
Google Spreadsheet - Get records from Zoho
来自 google spreadshhet,我正在尝试从 Zoho 收集记录。
我测试过这段代码:
var urlgetRecords = 'https://crm.zoho.com/crm/private/json/Leads/getRecords?newFormat=1&authtoken=00000&scope=crmapi&selectColumns=Leads(First Name,Last Name,Email)&fromIndex=1&toIndex=2&sortColumnString=First Name&sortOrderString=desc';
var jsonResponse = UrlFetchApp.fetch(urlgetgetRecords);
这是得到的:
{"response":{"result":{"Leads":{"row":[{"no":"1","FL":[{"content":"1412559000000441145","val":"LEADID"},{"content":"Víctor","val":"First
Name"},{"content":"Aguilera Moreno","val":"Last
Name"},{"content":"v-aguilera@hotmail.com","val":"Email"}]},{"no":"2","FL":[{"content":"1412559000000308001","val":"LEADID"},{"content":"Victor","val":"First
Name"},{"content":"Porta","val":"Last
Name"},{"content":"vporta@test.es","val":"Email"}]}]}},"uri":"/crm/private/json/Leads/getRecords"}}
请问,如何将此回复中的每一行都写到电子表格中?
非常感谢您:)
将 ZOHO 数据写入 Google 传播sheet。要使用下面的代码,请将 getSheetByName('Sheet2')
方法中的 sheet 选项卡名称编辑为要将数据附加到的 sheet 选项卡。
我已经测试了这段代码并且它有效:
function writeZohoToSheet(zohoDataObject) {
var zohoDataObject = {"response":
{"result":
{"Leads":
{"row":
[{"no":"1","FL":[
{"content":"12345678IDNumber","val":"LEADID"},
{"content":"Víctor","val":"First Name"},
{"content":"Aguilera Moreno","val":"Last Name"},
{"content":"v-agEmailTest@hotmail.com","val":"Email"}]
},
{"no":"2","FL":[
{"content":"987654321IDNumber","val":"LEADID"},
{"content":"Victor","val":"First Name"},
{"content":"Porta","val":"Last Name"},
{"content":"someEmail@test.es","val":"Email"}]
}
]
}
},"uri":"/crm/private/json/Leads/getRecords"}};
var rows = zohoDataObject.response.result.Leads.row;
Logger.log('rows: ' + rows);
Logger.log('rows.length: ' + rows.length);
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName('Sheet2');
var array = [], thisRow, thisContent, innerObj;
for (var r in rows) {
array = []; //reset
thisRow = rows[r];
thisContent = thisRow.FL;
array.push(r);
for (var i=0;i<thisContent.length;i+=1) {
innerObj = thisContent[i];
array.push(innerObj.val);
array.push(innerObj.content);
};
sh.appendRow(array);
};
};
您将调用该函数:
writeZohoToSheet(jsonResponse);
删除 "hard coded" 对象文字,或将其注释掉以传入检索到的对象。
Sandy Good 的代码是完美的。
我不得不再添加两行。
最终有效的代码是:
var urlgetRecords = 'https://crm.zoho.com/crm/private/json/Leads/getRecords?newFormat=1&authtoken=' + authToken + '&scope=crmapi&selectColumns=Leads(First Name,Last Name,Email)&fromIndex=1&toIndex=2&sortColumnString=First Name&sortOrderString=desc';
var jsonResponse = UrlFetchApp.fetch(urlgetRecords);
var jsonText = jsonResponse.getContentText();
var objetoFinal = JSON.parse(jsonText);
writeZohoToSheet(objetoFinal);
非常感谢@SandyGood 的帮助
来自 google spreadshhet,我正在尝试从 Zoho 收集记录。
我测试过这段代码:
var urlgetRecords = 'https://crm.zoho.com/crm/private/json/Leads/getRecords?newFormat=1&authtoken=00000&scope=crmapi&selectColumns=Leads(First Name,Last Name,Email)&fromIndex=1&toIndex=2&sortColumnString=First Name&sortOrderString=desc';
var jsonResponse = UrlFetchApp.fetch(urlgetgetRecords);
这是得到的:
{"response":{"result":{"Leads":{"row":[{"no":"1","FL":[{"content":"1412559000000441145","val":"LEADID"},{"content":"Víctor","val":"First Name"},{"content":"Aguilera Moreno","val":"Last Name"},{"content":"v-aguilera@hotmail.com","val":"Email"}]},{"no":"2","FL":[{"content":"1412559000000308001","val":"LEADID"},{"content":"Victor","val":"First Name"},{"content":"Porta","val":"Last Name"},{"content":"vporta@test.es","val":"Email"}]}]}},"uri":"/crm/private/json/Leads/getRecords"}}
请问,如何将此回复中的每一行都写到电子表格中?
非常感谢您:)
将 ZOHO 数据写入 Google 传播sheet。要使用下面的代码,请将 getSheetByName('Sheet2')
方法中的 sheet 选项卡名称编辑为要将数据附加到的 sheet 选项卡。
我已经测试了这段代码并且它有效:
function writeZohoToSheet(zohoDataObject) {
var zohoDataObject = {"response":
{"result":
{"Leads":
{"row":
[{"no":"1","FL":[
{"content":"12345678IDNumber","val":"LEADID"},
{"content":"Víctor","val":"First Name"},
{"content":"Aguilera Moreno","val":"Last Name"},
{"content":"v-agEmailTest@hotmail.com","val":"Email"}]
},
{"no":"2","FL":[
{"content":"987654321IDNumber","val":"LEADID"},
{"content":"Victor","val":"First Name"},
{"content":"Porta","val":"Last Name"},
{"content":"someEmail@test.es","val":"Email"}]
}
]
}
},"uri":"/crm/private/json/Leads/getRecords"}};
var rows = zohoDataObject.response.result.Leads.row;
Logger.log('rows: ' + rows);
Logger.log('rows.length: ' + rows.length);
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName('Sheet2');
var array = [], thisRow, thisContent, innerObj;
for (var r in rows) {
array = []; //reset
thisRow = rows[r];
thisContent = thisRow.FL;
array.push(r);
for (var i=0;i<thisContent.length;i+=1) {
innerObj = thisContent[i];
array.push(innerObj.val);
array.push(innerObj.content);
};
sh.appendRow(array);
};
};
您将调用该函数:
writeZohoToSheet(jsonResponse);
删除 "hard coded" 对象文字,或将其注释掉以传入检索到的对象。
Sandy Good 的代码是完美的。 我不得不再添加两行。
最终有效的代码是:
var urlgetRecords = 'https://crm.zoho.com/crm/private/json/Leads/getRecords?newFormat=1&authtoken=' + authToken + '&scope=crmapi&selectColumns=Leads(First Name,Last Name,Email)&fromIndex=1&toIndex=2&sortColumnString=First Name&sortOrderString=desc';
var jsonResponse = UrlFetchApp.fetch(urlgetRecords);
var jsonText = jsonResponse.getContentText();
var objetoFinal = JSON.parse(jsonText);
writeZohoToSheet(objetoFinal);
非常感谢@SandyGood 的帮助