【问题标题】:Google Spreadsheet - Get records from ZohoGoogle 电子表格 - 从 Zoho 获取记录
【发布时间】:2016-06-10 04:11:57
【问题描述】:

来自一个谷歌电子表格,我正在尝试从 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 姓名"},{"content":"v-aguilera@hotmail.com","val":"Email"}]},{"no":"2","FL":[{"content":" 1412559000000308001","val":"LEADID"},{"content":"Victor","val":"First Name"},{"content":"Porta","val":"Last 名称"},{"content":"vporta@test.es","val":"Email"}]}]}},"uri":"/crm/private/json/Leads/getRecords"}}

请问,如何在电子表格中写出此回复中的每一行?

提前非常感谢你:)

【问题讨论】:

    标签: javascript google-apps-script zoho


    【解决方案1】:

    将 ZOHO 数据写入 Google 电子表格。要使用下面的代码,请将getSheetByName('Sheet2') 方法中的工作表选项卡名称编辑为您希望将数据附加到的工作表选项卡。

    我已经测试了这段代码,它可以工作:

    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);
    

    删除“硬编码”对象字面量,或将其注释掉以传入检索到的对象。

    【讨论】:

      【解决方案2】:

      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

      【讨论】:

        猜你喜欢
        • 2017-11-15
        • 1970-01-01
        • 2017-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多