我正在使用 ActiveCollab HTTPS API 使用 Google Apps 脚本作为将 Google 表单链接到特定项目的一种方式。在项目中创建任务时,我无法弄清楚在 HTTP 请求中的何处使用访问令牌。
也许我错过了它,但文档中的哪些 API 调用需要访问令牌作为 POST 请求的一部分?
我发送的最基本的 POST 请求是:
var token = // token from authentication
{
"name": "Test task",
"token": token
}
...它返回一个 401 错误,说我没有经过身份验证。
所以,我尝试了:
var token = // token from authentication
{
"name": "Test task",
"username": // my username,
"password": // my password,
"token": token
}
......结果相同。那么,哪些调用需要 atoken
并且令牌是否进入 POST 有效负载?还是应该在 POST 选项中?
2016 年 3 月 10 日更新
我已将Authorization
参数添加到POST
请求中,现在在响应中收到无效令牌错误。我已清除缓存并成功重新授权。我的测试功能如下。
function postTicket() {
// Retrieve the stored token after a successful authorization
var token = PropertiesService.getScriptProperties().getProperty("token");
var data = {
"name": "Testing task"
}
var headers = {
Authorization: 'Bearer ' + token
};
var options = {
"method": "post",
"contentType": "application/json",
"headers": headers,
"payload": JSON.stringify(data)
}
try {
var url = BASE_URL + "/projects/8/tasks";
var response = UrlFetchApp.fetch(url, options);
var json = response.getContentText();
var data = JSON.stringify(json)
Logger.log(data);
} catch (e) {
Logger.log(e);
}
}
记录的错误是:
返回代码 500。{"type":"ActiveCollab\Authentication\Exception\InvalidTokenException","message":"授权令牌无效","code":0