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 的帮助