あなたが直面している可能性のある問題をいくつか思いつくことができます。
D2LUserContext オブジェクトへの API パスを提供する場合、エスケープ文字ではなく、内部スペースを含む API パスのみを渡す必要があります。したがって、という名前のファイルへの適切なルートは次のtest file name
ようになります。
/d2l/api/le/1.0/locker/myLocker/firstFolderBelowRoot/test file name
このための認証済み URL を作成するには、次のように呼び出します。
yourD2LUserContext.createAuthenticatedUri('/d2l/api/le/1.0/locker/myLocker/firstFolderBelowRoot/test file name', 'GET')
test file name
これにより、ロッカーから名前が付けられたファイルを取得するために使用できる認証済み URL が作成されます。含まれているフォルダーを取得するには:
yourD2LUserContext.createAuthenticatedUri('/d2l/api/le/1.0/locker/myLocker/firstFolderBelowRoot/', 'GET')
path
ロッカー内のフォルダーを識別する場合は、パラメーターの末尾にスラッシュを付ける必要があることに注意してください。(フォルダーをフェッチしようとしていて、末尾のスラッシュがない場合、それが問題の原因である可能性があります。)
その URL を取得したら、実際に呼び出しを行うために何らかの HTTP ライブラリを使用する必要があります。内部の PHP 開発者は、PHP で cURL ではなく HttpRequest を使用することを推奨しています。最も注目すべきは、呼び出しに使用する URL は、URL のパス コンポーネントのファイルまたはフォルダー名のスペースを保持する必要があることです。
Python クライアントを使用して 9.4.1 インスタンスに対してテストを行い、ロッカーからフェッチ/プットを実行するか、ユーザー コンテキスト オブジェクトを使用して URL を生成し、それらの URL をブラウザーにフィードすると、問題なく動作するように見えます。Python クライアントを使用した 10.0.0 テスト インスタンスに対するテストも機能しているようです。