Как пользователь № 1, мы используем этот API для создания общей ссылки:
https://graph.microsoft.com/v1.0/drives/{{driveId}}/items/{{itemId}}/createLink
Это успешно и возвращает ShareURI.
Как пользователь № 2, мы используем этот API для получения информации об элементе, доступном для пользователя № 1.
https://graph.microsoft.com/v1.0/shares/{{base64ShareURI}}/driveItem
Однако / driveItem возвращает код состояния 403 со следующим телом:
HTTP 403
{
"error": {
"code": "accessDenied",
"message": "The sharing link no longer exists, or you do not have
permission to access it.",
"innerError": {
"request-id": "73e65e0a-54b8-4722-9726-82297076276e",
"date": "2018-11-07T16:20:03"
}
}
}
Чтобы не допустить этого 403, пользователю №2 необходимо загрузить ShareURI в веб-браузер. Как только пользователь # 2 сделает это, запрос к тому же URI
https://graph.microsoft.com/v1.0/shares/{{base64ShareURI}}/driveItem
вернуть 200OK и ожидаемое тело json.
Почему Пользователь № 2 должен загрузить ShareURI в браузер, прежде чем он сможет использовать API-интерфейсы Graph для этого ShareURI? Есть ли обходной путь?