2017-03-07 83 views
1

我正在使用Google Apps腳本使用ActiveCollab HTTPS API作爲將Google表單鏈接到特定項目的方式。在項目中創建任務時,我無法弄清楚在HTTP請求中使用訪問令牌的位置。哪些調用需要ActiveCollab v5中的訪問令牌API

也許我錯過了它,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); 
    } 
} 

記錄的錯誤是:

返回代碼 500 { 「類型」: 「ActiveCollab \認證\異常\ InvalidTokenException」, 「消息」: 「授權 令牌無效」 「代碼」:0

+0

是看了看文檔。沒有提到放置令牌的請求。 –

回答

2

我有同樣的問題,但檢查後Active Collab SDK code我想通了,我們應該使用這些標題:

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

通過使用此代碼我被允許通過API來創建任務。

+0

太棒了。謝謝! – Brian

0
令牌

需要使用Authorization HTTP標頭被髮送:

Authorization: Bearer TOKEN_THAT_YOU_GOT_FROM_ACTIVE_COLLAB 

這意味着您需要將令牌作爲請求標頭的一部分發送,而不是有效負載。有關詳細信息,請查看Google Apps文檔(我看到fetchheaders對象作爲參數之一,因此支持此平臺中內置的這種交互類型)。

+0

好的,這是有道理的。我添加了標題,現在我看到一個錯誤,表示令牌不好。它是否需要編碼爲URI組件?或者我可以將它作爲JS對象發送? – Brian

+0

或者,我是否需要訂閱ActiveCollab本身的API? – Brian