为什么 urlfetch() 在使用 GAS 获取 API 数据的上下文中给我 "Service invoked too many times for one day"?

Why does urlfetch() give me "Service invoked too many times for one day" in this context using GAS to get API data?

我一直在努力让 Catsone 的所有候选人进入 Google Sheet,虽然代码显然是根据他们的 API 指令,但我得到了上面的提到的错误,我不确定在哪里寻找问题。

这是我的代码 运行:

const API_KEY = "XXXXXXXXXXXXXXXXXXXXXXXX";

function getallcandidates() {
  const url = 'https://api.catsone.com/v3/candidates';
  const params = {
    'muteHttpExceptions': true,
    'method': 'GET',
    'headers': {
      'Content-Type': 'application/json',
      'Authorization': 'Token' + API_KEY
    }
  };

  const response = UrlFetchApp.fetch(url, params);
  const data = response.getContentText();
  const json = JSON.parse(data);
  Logger.log('Data: ' + json)
}

这些是他们的身份验证说明:https://docs.catsone.com/api/v3/#authentication

这是我尝试从 Postman 调用它时成功获得的结果:

var myHeaders = new Headers();
myHeaders.append("Authorization", "Token XXXXXXXXXXXXXXXXXXXX");

var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  redirect: 'follow'
};

fetch("https://api.catsone.com/v3/candidates", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

感谢任何帮助。

当我看到你添加的 Javascript 和你的 Google Apps Script 时,如果 const API_KEY = "XXXXXXXXXXXXXXXXXXXXXXXX"; 的值在顶部字符没有 space ,那么下面的怎么样修改?

修改后的脚本:

发件人:

'Authorization': 'Token' + API_KEY

收件人:

'Authorization': 'Token ' + API_KEY
  • 从你额外的Javascript,'Token'修改为'Token '