2012-11-22 139 views
1

大約2個月前,我爲D2L申請了「App Developer Key」。我的大學很快就會遷移到D2L,他們已經建立了它。遠程服務器返回錯誤:(403)禁止。 - RESULT_INVALID_SIG

因此,我申請了「域限制」版本。現在,當我檢查系統「已批准?」時字段是「真」,這意味着我認爲我應該能夠使用它。我更新了D2L(它使用默認值)的示例「入門」C#項目中的主機,AppId,AppKey,UserId和UserKey字段。但是當我運行它時,出現錯誤:

The remote server returned an error: (403) Forbidden.

當我查看詳細信息時,錯誤爲RESULT_INVALID_SIG。而且,這種類型的錯誤會在簽名或ID無效時返回,通常這會引發重新認證。「所以你怎麼看?這是因爲我的角色是學生而不是管理員?或者這是關於AppId & AppKey?

回答

1

這可能是因爲您提供了樣本的UserIdUserKey字段的值,而這些標記不適用於您擁有的主機+ AppID /密鑰對。在剛剛爲您的LMS主機領域

嘗試填充,應用程序ID和你所擁有的應用程序憑據重點領域,然後看看你是否可以得到樣品走回頭路:

  • 你應該能夠在沒有用戶證書的情況下進行「獲取版本」通話(因爲您可以匿名撥打該電話)

  • 要檢索與您的應用+ AppID /密鑰對匹配的用戶憑證,請提供主機,和應用程序憑證,然後進行「身份驗證」 - 身份驗證過程應生成一個用戶ID /密鑰對並填充這些字段 - 然後您可以緩存所有這些憑據值,並將它們與前進的相同應用程序/ LMS組合一起使用(只要您的用戶令牌不會過期)。

+0

我沒有爲「獲取版本」方法提供UserId和UserKey字段的值,但它不起作用。 然後,我認爲這可能與錯誤的端口#有關。我把它設定爲443,但不知道它到底是什麼。我在工作項目文件中爲D2L測試服務器設置了端口號錯誤,並且出現了另一個錯誤:「無法連接到遠程服務器」。所以,我不認爲這是關於端口號。 我的猜測是這是關於服務器中與api相關的權限問題。管理員需要相應地更改服務器中的設置,以便可以通過API訪問。你怎麼看? – renakre

+0

不,您得到的「無效簽名」響應嚴格是因爲您傳遞了簽名令牌,無論是應用程序簽名還是LMS無法驗證的用戶簽名:它與權限無關。 API調用還沒有達到用戶角色權限可以發揮作用的地步。 –

相關問題