ActiveCollab v5 中哪些调用需要访问令牌 API

Which calls need an access token in ActiveCollab v5 API

我正在玩 Google Apps 脚本,它利用 ActiveCollab HTTPS API 作为向特定项目 link Google 表单的一种方式。在项目中创建任务时,我不知道在 HTTP 请求中的何处使用访问令牌。

也许我漏掉了,but which API calls in the documentation 需要访问令牌作为 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
}

...结果相同。那么,哪些调用需要 token 并且令牌是否进入 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);
  }
}

记录的错误是:

returned code 500.{"type":"ActiveCollab\Authentication\Exception\InvalidTokenException","message":"Authorization token is not valid","code":0

需要使用 Authorization HTTP header:

发送令牌
Authorization: Bearer TOKEN_THAT_YOU_GOT_FROM_ACTIVE_COLLAB

这意味着您需要将令牌作为请求的一部分发送 header,而不是负载。请查看 Google Apps 文档以获取详细信息(我看到 fetchheaders object 作为参数之一,因此内置了对此类交互的支持平台)。

我遇到了同样的问题,但在检查后 Active Collab SDK code 我想通了,我们应该使用这些 headers:

var headers = { 
  'X-Angie-AuthApiToken': token
};

通过使用此代码,我可以通过 API 创建任务。