Что означает необходимость SPO для доступа к API Azure Graph / OneDrive API для чтения файлов (список и загрузка)

Я предполагал, что OneDrive предлагает бесплатный уровень личного хранилища, поэтому для доступа через API к OneDrive не требуется, чтобы у пользователя была подписка на Office 365 ...

Однако после нескольких часов отладки и прямого перехода к Почтальону после попытки вызвать: https://graph.microsoft.com/v1.0/me/drive/root/search(q='.obj')?select=name,id,@content.downloadUrl с использованием токена возвращенная ошибка, похоже, заключается в том, что у пользователя нет SPO, что, похоже, означает, что требуется подписка на Office365?

{
  "error": {
    "code": "BadRequest",
    "message": "Tenant does not have a SPO license.",
    "innerError": {
      "request-id": "270808a8-4763-4ada-a878-e5ff34571c2f",
      "date": "2020-02-20T06:08:52"
    }
  }
}

Есть ли способ получить доступ к OneDrive через API без использования Office?

Обновите, только что купил Office 365 ... эта ошибка все еще возникает ... Что именно означает лицензия SPO?


person ina    schedule 20.02.2020    source источник
comment
По этой теме уже есть вопрос: stackoverflow.com/questions/46802055/   -  person Marc    schedule 20.02.2020
comment
Это не связано с этим, поскольку в другом случае они использовали приложение Excel (Office 365). В этом случае я не использовал какое-либо приложение Office 365 - только OneDrive.   -  person ina    schedule 20.02.2020
comment
Ошибки не говорят, что у пользователя нет лицензии, а говорят, что у вашего клиента нет лицензии. Это означает, что вы не включили службу в своем клиенте.   -  person willman    schedule 20.02.2020


Ответы (1)


Какой пользовательский контекст вы используете для подключения к Microsoft Graph OneDrive API? Правильно ли лицензирован этот пользователь в https://admin.microsoft.com/?

Чтобы устранить проблемы с токенами доступа пользователей, можете ли вы перейти в Graph Explorer https://aka.ms/ge и войдите в систему с левой стороны с учетной записью пользователя. Затем запустите этот точный запрос. Вам нужно будет подтвердить правильные разрешения для вызова этого API в соответствии с документацией API.

Поскольку здесь вы используете возможности поиска SharePoint, это не просто OneDrive, это SharePoint, который потребуется. Я считаю, что это идет с E3 и E5, но я не эксперт по лицензированию.

Может ли этот пользователь получить доступ к корневому продукту SharePoint в вашем клиенте в веб-браузере?

person Jeremy Thake MSFT    schedule 21.02.2020
comment
Привет! Мне удалось это пройти в проводнике графиков, но через API и почтальон получал ошибку, указанную выше. В итоге я решил эту проблему, пройдя проверку подлинности через общего пользователя, а не через арендатора. Это привело к получению токена, который не работает с jwt.ms ... - person ina; 22.02.2020
comment
Интересно. Я рад, что ты разобрался с этим. - person Jeremy Thake MSFT; 22.02.2020