我正嘗試使用其Valence API從第三方應用程序中修改D2L數據庫。我已經完成了一些操作,但我試圖創建一個新的用戶帳戶。我被告知,我正在工作的帳戶有權這樣做。嘗試創建D2L用戶帳戶時獲取無效令牌響應
我已經定義了一個JSON對象來保存我想要的值: { 「OrgDefinedId」: 「XX000TEST」, 「名字」: 「湯姆」, 「中間名」: 「」, 「姓」 : 「Foolery」, 「ExternalEmail」: 「[email protected]」, 「用戶名」: 「Tom.Foolery」, 「角色ID」: 「78」, 「IsActive」: 「真」, 「SendCreationEmail 「:」false「 }
我將上述文本複製到HTTP後緩衝區,然後調用以下鏈接: /d2l/api/lp/1.0/users/?
參數字符串包含Valence文檔中指定的ID和簽名(x_a,x_b等)。我假設授權值是正確的,因爲在其他的價值查詢中使用相同的算法時,我會得到正確的結果。
有關如何通過「無效令牌」消息的任何建議,將不勝感激。
--stein
這是可能通過使用做的一切,爲你的許多客戶端庫,以避免一些與生成簽名這個問題(外觀的情況下,URL生成,簽名算法後)。大多數用戶不需要生成自己的簽名,並排除了這些類型的問題。客戶端庫在:http://docs.valence.desire2learn.com/clients/index.html – Cadmium
只是跟進這一點 - 基本的問題是,D2L服務器在SSL下運行,我沒有包括在HTTPS網址。當HTTP請求到達服務器時,它被重定向到HTTPS鏈接。這實際上適用於GET請求,但是這是一個POST,並且在重定向期間後緩衝區內容會丟失,因此它將被視爲另一個GET。由於服務器期待POST,結果是無效令牌錯誤。 – Steingo
很高興知道。謝謝+ Steingo。 –