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

问题描述 投票:0回答:1

我在将 API 连接到 Google 表格时遇到问题。

使用此获取/请求,我如何使用 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 脚本中尝试过此操作,但它不起作用

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 connection syntax-error
1个回答
0
投票

我相信您的目标如下。

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

修改要点:

  • 如果您的 Javascript 工作正常并且您想从 Javascript 转换为 Google Apps 脚本,我认为需要在请求标头中包含

    accept: 'application/json', 'X-API-KEY': 'MyKey'
    而不是
    'Authorization': 'Bearer MyKey'

  • 关于您的以下回复,

    这就是你所说的改变吗?函数 fetchDataFromAPI() { var apiUrl = 'https://api.whip-around.com/api/public/v4/work-orders'; var headers = { 接受: '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.
}

注:

  • 不幸的是,从你的回复和你的问题中,我无法理解你的输出情况。因此,在这个答案中,我只修改了请求 API 的脚本。
© www.soinside.com 2019 - 2024. All rights reserved.