Невозможно отобразить ресурс изображения 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

Тогда вы получите изображение.

Другие вопросы по тегам