Получить WebUrls последних файлов в OneDrive

Я использую следующий вызов Graph API для извлечения последних файлов из OneDrive для бизнеса;

https://graph.microsoft.com/v1.0/me/drive/recent

В ответе объекты driveitem более разрежены, чем предполагает схема;

скриншот ответа JSON OneDrive

В частности, отсутствует свойство webUrl.

Если я попытаюсь явно запросить это свойство следующим образом:

https://graph.microsoft.com/v1.0/me/drive/recent?select=webUrl

Затем я просто получаю следующий ответ;

{  
   "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#Collection(driveItem)",
   "value":[  
      {  
         "@odata.type":"#microsoft.graph.driveItem"
      },
      {  
         "@odata.type":"#microsoft.graph.driveItem"
      },
      {  
         "@odata.type":"#microsoft.graph.driveItem"
      },
      {  
         "@odata.type":"#microsoft.graph.driveItem"
      },
      {  
         "@odata.type":"#microsoft.graph.driveItem"
      }
   ]
}

Как я могу получить эти данные из Graph API? Я пытался сделать последующие вызовы, чтобы получить элемент(ы) напрямую, используя этот вызов (согласно документация);

https://graph.microsoft.com/v1.0/drives/<remoteItem.driveId>/items/<id>

Однако это всегда кажется неудачным;

{
  "error": {
    "code": "itemNotFound",
    "message": "The resource could not be found.",
    "innerError": {
      "request-id": "a86bdc25-771b-4b90-9c17-942e05bd9ed3",
      "date": "2016-05-22T08:21:57"
    }
  }
}

Что касается разрешений Azure Active Directory, у меня зарегистрировано приложение Native Client, и я предоставил ему все возможные делегированные разрешения Microsoft Graph API (все 40 из них). Я знаю, что это излишество, но я просто хочу сначала заставить это работать, а затем постепенно удалять разрешения, пока у меня не останутся только необходимые.


person Christopher McAtackney    schedule 22.05.2016    source источник


Ответы (1)


Вам необходимо добавить области «Файлы.Чтение.Все», «Сайты.Чтение.Все», вы можете найти их на портале Azure, «Читать все файлы, к которым пользователь может получить доступ».

введите здесь описание изображения

При этом токен носителя преобразуется в введите здесь описание изображения

Без этого токен носителя преобразуется в введите здесь описание изображения

У меня та же ошибка «itemNotFound» с отключенным флажком «Читать все файлы, к которым пользователь может получить доступ», но успех с этим флажком.

person Jackie    schedule 23.05.2016