2015-09-09 57 views
1

嘿,我正在嘗試調用Docebo的REST API,我發現很難理解它的方法。基本上,調用API需要您在請求標頭中放置一個X授權參數。關於實現這一點的Docebo文檔只是一個令人困惑的段落。類似的問題已經被問和在這裏找到答案:Docebo X-Authorization參數

Docebo - constructing authorisation header

我讀的代碼,但不能完全把握的解釋,幾乎沒有和代碼我很難理解。我有兩個問題 -

1)什麼是X授權參數?

2)如何計算X-Authorization參數以添加到請求頭以調用Docebo API?

代碼如何工作的詳細說明會很棒!提前致謝!

回答

2

嘿,我終於明白了。

什麼是X授權參數?

這是必須添加到請求標題的參數。此標頭用於驗證對API的調用,服務器首先檢查此參數以確定該調用是否來自受信任的源。這種具有自定義X-標頭的請求稱爲預發請求,它要求發件人首先發送HTTP OPTIONS請求。服務器響應一個可執行的允許操作列表。只有(發件人的)來源被允許具有特定的頭/有權訪問服務器資源,纔會實際執行該請求。

如何計算X-Authorization參數以添加到請求頭以調用Docebo API?

如下所示: 首先查看Docebo的API文檔,瞭解您要調用的特定API。它將有一個呼叫所需的參數列表。然後,您需要方便地使用docebo中的API密鑰,因爲它們都用於生成此X-Authorization參數。然後繼續操作如下:

1)假設您有n個參數需要調用。 : 括號內的以下字符串的SHA1編碼 - (參數1,參數2,參數3 .....參數-n,密鑰)。不要忘記逗號!以此步驟中生成的SHA1哈希爲例,進入步驟2

2)UTF-8 base64編碼括號之間的以下字符串: (PublicKey:來自步驟1的哈希)。另外,不要忘記結腸!您將獲得一個字母數字字符串。

3)X-Authorization參數是 - Docebo代碼(注意Docebo和代碼之間的空間)。

4)在發送請求頭之前,將名爲X-Authorization的參數添加到請求頭中,您將收到響應。

希望這會有所幫助..