我一直在尝试使用应用程序脚本中的 UrlFetchApp 从名为 Salesbinders 的库存系统 API 中获取库存信息,由于某种原因,我不断收到登录信息不允许的错误,我尝试了在网上找到的不同方法,但没有一个有效,我也尝试将其放在邮递员上并且它有效,所以我假设我提供的详细信息应该是正确的。 以下是 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
未作为标头包含在请求中。如果您的网址 USERNAME
和 PASSWORD
正确,我认为这可能是您出现问题的原因。
而且,在 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());
}
USERNAME
和 PASSWORD
是正确的。如果出现错误,请再次确认。