Google Apps Script调用Salesbinder API遇“Login information disallowed”错误求助
问题解决方法
你的代码存在几个明确问题,直接导致了「Login information disallowed」错误,具体修正方案如下:
错误点分析
- URL字符串语法错误:代码里的URL开头用单引号,结尾却用了中文双引号,导致字符串未正确闭合,触发语法问题。
- 重复认证冲突:你同时在URL里嵌入了
API KEY:x@的认证信息,又在请求头里设置了AuthorizationBasic Auth头,两种认证方式叠加触发了Salesbinder的拦截机制。 - 无效字符干扰:URL里的API KEY带了空格,实际有效密钥不会包含空格,这会导致认证信息解析失败。
修正后的代码
function fetching() { var USERNAME = '你的实际API密钥'; // 替换为无空格的有效Salesbinder API密钥 var PASSWORD = 'x'; var url = 'https://myDomain.salesbinder.com/api/2.0/documents/.json?documentNumber=8006&contextId=5'; var headers = { "Authorization": "Basic " + Utilities.base64Encode(USERNAME + ':' + PASSWORD, Utilities.Charset.UTF_8) }; let response = UrlFetchApp.fetch(url, { headers: headers, muteHttpExceptions: true // 开启后可获取详细错误信息,便于调试 }); Logger.log(response.getContentText()); }
额外说明
- 务必将
USERNAME替换为你实际的Salesbinder API密钥,确保密钥无空格或多余字符 - 仅保留请求头中的
Authorization认证方式即可,不要在URL里嵌入用户名密码 - 若仍有问题,通过
muteHttpExceptions返回的详细错误信息,可更精准定位问题
内容的提问来源于stack exchange,提问作者Yvan L
相关产品推荐
相关产品推荐

