api - Google Apps脚本和外部API

标签 api https google-apps-script basecamp

如果我没记错的话,按照UrlFetch Documentation,我应该可以从Google Apps脚本中调用New Basecamp API。我怀疑我的困惑来自格式错误的GAS(以及我刚刚开始的所有事实)。我已经用谷歌搜索了很长时间。这是我所拥有的,也是我从GAS返回的错误:

GAS中的myCode:

function myFunction() {
  var url = "https://basecamp.com/******/api/v1/projects.json";
  var headers = {
                 "contentType": "application/json",
                 "headers":{ "User-Agent": "MY_APP_NAME",
                            "username:password" : "user:pass"},
                 "validateHttpsCertificates" :false
                 };

var response = UrlFetchApp.fetch(url, headers);
var text = response.getResponseCode();
Logger.log(text);
}

GAS错误消息:
Request failed for https://basecamp.com/2166446/api/v1/projects.json returned code 401.
Server response: HTTP Basic: Access denied. (line 9, file "Code")

我希望这是一个合理的问题,感谢您的帮助。

最佳答案

正确使用HTTP Basic Authentication Utilities.base64Encode header 如下:

"headers": {
    "User-Agent": "MY_APP_NAME (App URL/your email address)",
    "Authorization": "Basic " + Utilities.base64Encode(username + ":" + password)
},

关于api - Google Apps脚本和外部API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15487568/

相关文章:

javascript - 如何使用 JavaScript 循环使用 blogger API 检索所有帖子

android - Api key android make "couldn' t get connection factory client”?

java - 在 2-way SSL 中禁用证书链验证

javascript - 如何比较谷歌表格脚本中的时间?

javascript - 对多个单元格使用 If 函数

java - 在 spring-rest API 中从数据库检索图像路径的理想方法是什么?

Silverlight 页面加载来自 Microsoft 的不安全内容

azure - 在 Azure 上使用 HTTPS 时出现 OWIN 400 invalid_request

google-apps-script - 服务在短时间内调用了太多次 : exec qps.(谷歌脚本)

javascript - 我有一个函数设置为 onClick 事件,它将一组数据发送回 API