"Login information disallowed" 来自 google 脚本的错误

"Login information disallowed" error from google script

我一直在尝试使用应用程序脚本中的 UrlFetchApp 从名为 Salesbinders 的库存系统 API 中获取库存信息,出于某种原因,我一直收到登录信息不允许的错误,我尝试了不同的方法在网上找到,但其中 none 正在工作,我也尝试将它放在邮递员上并且它有效,所以我假设我提供的详细信息应该是正确的。 这是 salesbindner API 文档:https://www.salesbinder.com/api/

这是我的代码

function fetching() {
  
  var USERNAME ='{API KEY}'
  var PASSWORD = '{x}'

  var url ='https://{API KEY}:x@{subdomain}.salesbinder.com/api/2.0/items.json'

  var headers = {
    "Authorization" : "Basic " + Utilities.base64Encode(USERNAME+ ':' + PASSWORD)
  };



let response = UrlFetchApp.fetch(url,headers)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Logger.log(response.getContentText());
}

如果有人能提供帮助,我将不胜感激,我整个周末都被这个困住了

在您的脚本中,headers 未作为 header 包含在请求中。如果您的 URL、USERNAMEPASSWORD 是正确的,我认为这可能是您遇到问题的原因。

而且,在 UrlFetchApp 中,then 未被使用。当这些点在你的脚本中体现出来,就变成了下面这样。

修改后的脚本:

function fetching() {
  var USERNAME = '{API KEY}';
  var PASSWORD = '{x}';
  var url = 'https://{API KEY}:x@{subdomain}.salesbinder.com/api/2.0/items.json';
  var headers = {
    "Authorization": "Basic " + Utilities.base64Encode(USERNAME + ':' + PASSWORD)
  };
  let response = UrlFetchApp.fetch(url, { headers });
  Logger.log(response.getContentText());
}

注:

  • 此修改假设您的URL、USERNAMEPASSWORD是正确的。如有错误,请再次确认。

参考: