如何使用GoogleApps脚本从Xero私有应用程序api获取数据到GoogleSheet

如何使用GoogleApps脚本从Xero私有应用程序api获取数据到GoogleSheet,api,google-apps-script,google-sheets,xero-api,Api,Google Apps Script,Google Sheets,Xero Api,我创建xero私有api。 我需要知道如何使用google apps脚本连接此api,以便将api数据加载到google sheet以下是一个简单的api连接: function publicAPIs() { var ss=SpreadsheetApp.getActive(); var sh=ss.getSheetByName('publicAPIs.org') sh.activate(); var rg=sh.getRange(1,1,3,2); var vA=rg.get

我创建xero私有api。
我需要知道如何使用google apps脚本连接此api,以便将api数据加载到google sheet

以下是一个简单的api连接:

function publicAPIs() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('publicAPIs.org')
  sh.activate();
  var rg=sh.getRange(1,1,3,2);
  var vA=rg.getValues();
  var apiObj={};
  for(var i=0;i<vA.length;i++){
    apiObj[vA[i][0]]=vA[i][1];
  }
  var r=UrlFetchApp.fetch(apiObj.baseurl + '/categories');
  var cA=JSON.parse(r);
  var catA=[];
  for(var i=0;i<cA.length;i++){
    catA.push([cA[i]]);
  }
  ss.getSheetByName('NamedRanges').getRange(2,1,catA.length,1).setValues(catA);
  var url=apiObj.baseurl + apiObj.qry.replace('~~~',encodeURIComponent(apiObj.category));
  Logger.log(url);
  var result=UrlFetchApp.fetch(url);
  var response=JSON.parse(result.getContentText());
  Logger.log(response.count);
  var hl=Utilities.formatString('<br />URL:%s', url);
  hl+='<br /><input type="button" value="Exit" onClick="google.script.host.close();" />';
  hl+='<style>td,th{border:1px solid #000;}</style><table><tr><th>No</th><th>API</th><th>Description</th><th>Auth</th><th>HTTPS</th><th>Cors</th><th>Link</th><th>Category</th></tr>';
  for(var i=0;i<response.count;i++){
    hl+=Utilities.formatString('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>',i+1, response.entries[i].API, response.entries[i].Description,response.entries[i].Auth,response.entries[i].HTTPS,response.entries[i].Cors,response.entries[i].Link,response.entries[i].Category)
  }
  hl+='</table>';
  var userInterface=HtmlService.createHtmlOutput(hl).setWidth(1000);
  SpreadsheetApp.getUi().showModelessDialog(userInterface, 'publicAPIs.org')
}
函数publicAPIs(){ var ss=SpreadsheetApp.getActive(); var sh=ss.getSheetByName('publicAPIs.org') sh.激活(); var rg=sh.getRange(1,1,3,2); var vA=rg.getValues(); var apiObj={};
对于(var i=0;i或者,您可以使用现有的工具或附加组件之一在Xero和Google Sheets之间同步数据。本文介绍了如何链接的合适选项之一。但是,您也可以签出G-Accon附加组件。这两种工具都允许您在不编写脚本的情况下执行此操作。

URLCOcheckout FetchApp.fetch()。谢谢,我在Xero Private API中面临授权(RSA密钥)问题。通常,访问密钥可以放在URL的查询字符串中。您只需查看您试图访问的URL上的API说明即可