Я звоню me/contacts/{id}/photo
, и ответы не соответствуют тому, что определено в документах .
Согласно документам, две вещи не соответствуют тому, что я вижу:
Если у контакта нет фотографии, в нем говорится, что вы получите пустой платеж JSON, однако я получаю ответ 404
с этой ошибкой
Code: ErrorItemNotFound
Message: The specified object was not found in the store.
Когда есть фотография для контакта, в статье говорится, что будет @odata.mediaEtag
, однако полезная нагрузка, которую я получаю обратно, не имеет ее.Ниже мой ответ:
(*map[string]interface {})(0xc42014a028)((len=5) {
(string) (len=6) "height": (float64) 360,
(string) (len=5) "width": (float64) 360,
(string) (len=14) "@odata.context": (string) (len=243) "https://graph.microsoft.com/v1.0/$metadata#users('REDACTED')/contacts('REDACTED')/photo/$entity",
(string) (len=23) "@odata.mediaContentType": (string) (len=10) "image/jpeg",
(string) (len=2) "id": (string) (len=7) "360X360"
})
Проблема № 1 не влияет на меня, так как я легко могу справиться с 404
.Меня больше волнует проблема №2, так как я хотел бы etag
, чтобы я мог отслеживать, было ли изображение изменено или нет, и загружать его только тогда, когда оно было изменено.
Мне удалось настроить OAuthзаставить работать API и успешно загружать контакты и фотографии, следуя документам, поэтому я не уверен, что мне не хватает.