如何将软件 API (WhipAround) 连接到 Google 表格?

How do I connect a software API (WhipAround) to Google Sheets?

提问人:Luke Gruber 提问时间:10/11/2023 最后编辑:Brian Tompsett - 汤莱恩Luke Gruber 更新时间:10/11/2023 访问量:28

问:

我无法将 API 连接到 Google 表格。

使用此 Fetch/Request,如何使用 Apps 脚本连接到 Google 表格?

const options = {
  method: 'GET',
  headers: {
    accept: 'application/json',
    'X-API-KEY': 'MyKey'
  }
};

fetch('https://api.whip-around.com/api/public/v4/work-orders?limit=20&page=1', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));

我在 Google Apps Script 中尝试过这个,但它不起作用

function fetchDataFromAPI() {
  var apiUrl = 'https://api.whip-around.com/api/public/v4/work-orders';
  var headers = {
    'Authorization': 'Bearer MyKey'
  };
  
  var options = {
    'headers': headers
  };

  var response = UrlFetchApp.fetch(apiUrl, options);
  var responseData = JSON.parse(response.getContentText());
  
  // Now you can manipulate the API data and update your Google Sheet
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var numRows = responseData.length;
  var numCols = responseData[0].length;
  sheet.getRange(1, 1, numRows, numCols).setValues(responseData);
}

enter image description here

javascript google-sheets 连接 语法错误

评论

0赞 Tanaike 10/11/2023
如果您的 Javascript 工作正常,并且您想从 Javascript 转换为 Google Apps 脚本,我认为需要将其包含在请求标头中而不是 .但是,我不知道你的API。因此,即使请求作品的脚本,我也不能建议修改下面的脚本。对此,我深表歉意。那么,你能提供 的样本值吗?另外,你能提供你的API的官方文档吗?accept: 'application/json', 'X-API-KEY': 'MyKey''Authorization': 'Bearer MyKey'UrlFetchApp.fetchresponse.then(response => console.log(response))
0赞 Luke Gruber 10/11/2023
这就是你的意思吗? 另外,这里是文档的链接:whiparound-public-api.readme.io/reference/...function fetchDataFromAPI() { var apiUrl = 'https://api.whip-around.com/api/public/v4/work-orders'; var headers = { Accept: 'application/json','mykey' }; var options = { 'headers': headers };
0赞 Tanaike 10/11/2023
感谢您的回复。从你的回复来看,不幸的是,你似乎无法正确理解我的评论。我认为您无法正确理解我的评论的原因是我的英语水平很差。对于我糟糕的英语水平,我深表歉意。所以,我提出了一个答案。但是,我无法知道您在电子表格上的预期情况。因此,我只修改了用于请求 API 的脚本。我想这也是由于我的英语水平差。我真的再次为我糟糕的英语水平道歉。

答:

0赞 Tanaike 10/11/2023 #1

我相信你的目标如下。

  • 您想将显示的 Javascript 转换为 Google Apps 脚本。

修改要点:

  • 如果您的 Javascript 工作正常,并且您想从 Javascript 转换为 Google Apps 脚本,我认为需要将其包含在请求标头中而不是 .accept: 'application/json', 'X-API-KEY': 'MyKey''Authorization': 'Bearer MyKey'

  • 关于您以下的回复,

    这就是你的意思吗?function fetchDataFromAPI() { var apiUrl = 'https://api.whip-around.com/api/public/v4/work-orders'; var headers = { Accept: 'application/json','mykey' }; var options = { 'headers': headers };另外,这里是文档的链接:whiparound-public-api.readme.io/reference/...

    • 我担心你无法正确理解我的评论。

在这种情况下,以下修改怎么样?

修改后的脚本:

function fetchDataFromAPI() {
  var yourAPIkey = "###"; // Please set your API key.

  var apiUrl = 'https://api.whip-around.com/api/public/v4/work-orders?limit=20&page=1';
  var options = { headers: { "X-API-KEY": yourAPIkey, accept: "application/json" } };
  var response = UrlFetchApp.fetch(apiUrl, options);
  var responseData = response.getContentText();
  console.log(responseData); // Here, you can see the response value in the log.
}

注意:

  • 在此修改中,它假设您的 Javascript 工作正常。请注意这一点。如果您的 Javascript 无法正常工作,请再次确认您的 API 密钥。

  • 不幸的是,从您的回复和您的问题来看,我无法理解您的输出情况。因此,在此答案中,我只修改了用于请求 API 的脚本。