Я могу придумать некоторые возможные проблемы, с которыми вы сталкиваетесь.
Когда вы указываете путь API к вашему объекту D2LUserContext, вам нужно передать только путь 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')
Это создаст аутентифицированный URL-адрес, который вы можете использовать для извлечения файла с именем test file name
из вашего шкафчика. Чтобы получить содержащую его папку:
yourD2LUserContext.createAuthenticatedUri('/d2l/api/le/1.0/locker/myLocker/firstFolderBelowRoot/', 'GET')
Обратите внимание: если вы хотите идентифицировать папку в шкафчике, параметр path
должен заканчиваться косой чертой. (Если вы пытаетесь получить папку и у вас нет завершающей косой черты, это может быть источником вашей проблемы.)
Когда у вас будет этот URL-адрес, вам нужно будет использовать какую-то HTTP-библиотеку, чтобы сделать вызов. Наши внутренние разработчики PHP рекомендовали использовать HttpRequest, а не cURL с PHP. В частности, URL-адрес, с которым вы должны сделать вызов, должен сохранять пробел в имени файла или папки в компоненте пути URL-адреса.
Когда я тестирую экземпляр 9.4.1, используя клиент Python для получения/вставки из шкафчика или для создания URL-адресов с использованием объекта пользовательского контекста, а затем загружая эти URL-адреса в браузер, все работает нормально. Тестирование на тестовом экземпляре 10.0.0 с использованием клиента Python также работает.
person
Viktor Haag
schedule
30.08.2012