【发布时间】:2015-03-13 04:58:23
【问题描述】:
我正在尝试通过 Google Apps 脚本调用 Basecamp 的新 API。得到,我可以。 POST,没那么多。
从路径开始
https://basecamp.com/xxxxxxx/api/v1/projects/xxxxxxx/todolists.json
我的代码:
var headers = {
'User-Agent' : BCuseragent,
'Authorization' : 'Basic ' + Utilities.base64Encode(BCuser + ':' + BCpass),
'Content-Type' : 'application/json',
'Accept' : 'application/json',
'validateHttpsCertificates' : false
}
function getBC(path) {
var url = BCurl + path;
var opt = {
'headers' : headers,
'method' : "GET"
};
var response = UrlFetchApp.fetch(url, opt);
return response;
}
function postBC(path, payload) {
var url = BCurl + path;
var opt = {
'headers' : headers,
'method' : "POST",
'payload' : JSON.stringify(payload)
};
var response = UrlFetchApp.fetch(url, opt);
return response;
}
我作为参数传递的有效负载:
{name: "foo", description: "bar"}
getBC 函数有效 (200 OK),postBC 函数返回 403 错误。然而,我是该项目的所有者,并且我使用 curl 和 Chrome REST 客户端来确认我实际上可以使用相同的授权向该项目发布新的 todolist。
很明显,我的标头在某处格式不正确,但我不知道是怎么回事。
【问题讨论】:
-
抱歉问题标题太弱了;我在某个地方误入歧途。
标签: google-apps-script basecamp