D2L LMS テスト環境システムでカスタム ウィジェットを作成しようとしています。このウィジェットは、コースのホームページでインストラクターのユーザー プロファイルの画像と名前をウィジェットに入力します。そのために Valence API を使用できると言われたので、Valence http://docs.valence.desire2learn.com/にあるすべてのドキュメントを読みました。次に、LMS の Manage Extensibility 管理ツール内にウィジェットを登録しました (外部アプリは使用していませんが)。また、 https://github.com/Brightspace/valence-sdk-javascript/releasesからクライアント ライブラリの JavaScript バージョンをダウンロードし、いくつかの変更を加えて独自の API キーと ID を追加し、それらを自分のコースの Manage Files valenceJS フォルダーにアップロードしました。
私のウィジェットでは、以下のコードを追加して、whoamI 呼び出しを使用して API 呼び出しをテストしようとしています。
<div style="width: 250px; max-width: 250px; overflow: hidden;">
<script type="text/javascript">// <![CDATA[
if (typeof jQuery == 'undefined'){
document.write('<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"><\/script>');
}
// ]]></script>
<script type="text/javascript" src="https://learntest.<mysite>/{OrgUnitPath}/valenceJS/valence.js"> </script>
<script type="text/javascript" src="https://learntest..<mysite>/{OrgUnitPath}/valenceJS/sha.js"> </script>
<script type="text/javascript" src="https://learntest..<mysite>/{OrgUnitPath}/valenceJS/sample1.js"></script>
<script type="text/javascript" src="https://learntest..<mysite>/{OrgUnitPath}/valenceJS/server2.js"> </script>
<script type="text/javascript" src="https://learntest..<mysite>/{OrgUnitPath}/valenceJS/jquery.jsonp -2.2.0.min.js"></script>
<script type="text/javascript">// <![CDATA[
$(document).ready( function () {
$('#iInfo').load('/d2l/api/lp/1.0/users/whoamI', function(responseTxt, statusTxt, xhr){
if(statusTxt == "success")
$('#error').text("API loaded successfully!");
if(statusTxt == "error")
$('#error').text("Error: " + xhr.status + ": " + xhr.statusText);
});
});
// ]]></script>
<div id="iInfo" style="padding: 0 10px 10px 10px;"></div>
<p id="error" style="color: red;"></p>
</div>
しかし、ウィジェットに Error 403 Forbidden が表示され、システムがフリーズします。次に、ファイルを挿入するスクリプトを取り出したところ、エラー 403 Forbidden が引き続き表示されますが、システムはフリーズしなくなりました。
API内で外部アプリを使用していないため、何が間違っているのかわかりません。ウィジェットはLMSツールであるため、LMS内にいるため、ウィジェットを登録する必要があった理由がわかりませんAPI キーと ID、およびこの場合の認証のしくみを取得します。API テスト ツール内で API キーと ID をテストしたところ、この whoamI 呼び出しの結果が返されました。
より高いセキュリティ レベルの管理者として LMS にログインしていますが、それでも 403 Forbidden が表示されます。学生アカウントで LMS にログインしたときも同じです。
助けてくれてありがとう。