MS Graph обрабатывает кэширование с заголовком ETag? - PullRequest
0 голосов
/ 29 октября 2019

Я пытаюсь кэшировать найденную фотографию с указанным ETag из ms-графика. Здесь у вас есть команда:

http 'https://graph.microsoft.com/v1.0/users/[user-mail]/photo/$value' Authorization:"Bearer [token]" If-None-Match:[prev_ETag] -v

К сожалению, вместо 304 Not Modified я вижу 200 OK ответ с двоичными данными. Есть ли какой-нибудь способ использовать токен ETag для предотвращения повторной загрузки уже загруженной фотографии? Моя цель - уменьшить загрузку ms-графа. Есть ли руководство от Microsoft, как кешировать данные из их API? Я пытался использовать HEAD http-запрос, но он не поддерживается.

1 Ответ

1 голос
/ 31 октября 2019

Да, вы можете кэшировать фотографию на основе ETag. Когда вы получите фотографию, вы должны получить etag заголовок ответа. Вы можете проверить, изменилась ли фотография, получив метаданные фотографии (вместо самой фотографии):

GET /users/[user-mail]/photo

Это вернет некоторую информацию о текущей фотографии, включая ETag в свойстве @odata.mediaEtag.

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('e6c10dc8-5218-46f7-a0c1-59026b45b0fe')/photo/$entity",
  "@odata.mediaContentType": "image/jpeg",
  "@odata.mediaEtag": "\"6A0C23F3\"",
  "id": "240X240",
  "height": 240,
  "width": 240
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...