Невозможно отобразить ресурс изображения OneNote после добавления параметра preAuthenticated=true в вызове API OneNote
https://github.com/microsoftgraph/microsoft-graph-docs/issues/2624
У меня проблема, как указано выше.
Я пытаюсь сохранить содержимое страницы со ссылкой на изображение, вызвав https://graph.microsoft.com/v1.0/users/{userId} / onenote / pages / {pageId} / content? PreAuthenticated= правда
За это - загрузка одной страницы заметки с изображением в формате HTML
Добавив "? PreAuthenticated=true" при извлечении, изображение станет общедоступным.
Но когда я попытался отобразить html, он дал мне "Не удалось загрузить ресурс: сервер ответил статусом 401 (неавторизован)".
3 ответа
Немного не по теме, но я понял, как получить изображение для рендеринга.
https://docs.microsoft.com/en-us/graph/api/resource-get?view=graph-rest-1.0&tabs=http
Когда вы вызываете /onenote/pages/{id}/content, изображение имеет ссылку на такой источник.
src="https://graph.microsoft.com/v1.0/users({userId})/onenote/resources/{resourceId}/$value" вместе с data-src-type="image/jpeg"
сделайте запрос на получение этой конечной точки, и вы получите двоичный файл изображения, преобразуете двоичный файл в base64, а затем просто отрендерите html, заменив src на base64.
https://github.com/microsoftgraph/microsoft-graph-docs/pull/4339/files
Я думаю, они сняли для него поддержку.
Похоже, что что-то не так с официальным документом: Получите содержимое и структуру OneNote с помощью Microsoft Graph.
Мы видим, что корневой URL службы https://graph.microsoft.com/{version}/{location}/onenote/
.
Но в любом из примеров на этой странице URL по-прежнему https://www.onenote.com/api/v1.0/me/notes
.
В настоящее время, когда вы добавляете ?preAuthenticated=true
вы получите такой URL для изображения на этой странице:
https://graph.microsoft.com/v1.0/users('{userID}')/onenote/resources/{resourceID}/content?publicAuth=true&mimeType=image/png
Но когда вы попытаетесь получить к нему доступ в браузере, вы получите 401 error Access token is empty
.
Обходной путь - изменить URL-адрес на:
https://www.onenote.com/api/v1.0/resources/{resourceID}/content?publicAuth=true&mimeType=image/png
Тогда вы получите изображение.