API Office365 — получение моей фотографии пользователя

У меня есть простое веб-приложение, которое в течение последнего месяца работало следующим образом:

outlook.office365.com/api/beta/Me/userphotos('120x120')/$value

но теперь он возвращается:

{"error":{"code":"RequestBrokerOld-ParseUri","message":"Resource not found for the segment 'userphotos'."}}

Я получаю ту же ошибку, если я пытаюсь выполнить одно из следующих действий:

https://outlook.office365.com/api/beta/Me/userphoto
https://outlook.office365.com/api/beta/Me/userphotos
https://outlook.office365.com/api/beta/Me/userphoto/$value

Возможно, моя организация что-то изменила, чтобы вызвать это? Или произошли общие изменения в том, как работает этот запрос?

В том же приложении мои другие запросы электронной почты и календаря работают нормально, это просто косметическая проблема, заключающаяся в том, что изображение профиля пользователя не отображается в верхнем углу.


person Ampers    schedule 29.10.2015    source источник
comment
Я получаю ту же ошибку. Некоторые из наших рабочих приложений используют это. Плохо, MSFT не имеет запасного варианта :-(   -  person Rahul Patil    schedule 30.10.2015
comment
Конечная точка API была изменена на фото. Дополнительную информацию об этом можно найти здесь: dev.office .com/blogs/Update-3-on-Office-365-unified-API   -  person Elio Struyf    schedule 03.11.2015
comment
@ElioStruyf Отлично! это должен быть правильный ответ: outlook.office365.com/api/beta/ Me/photo/$value правильно вытягивает фотографию (я не уверен, что флаг {size} из ('120x120') работает, но это неважно)   -  person Ampers    schedule 04.11.2015


Ответы (2)


Это действительно ответ ElioStruyf.

Конечная точка теперь называется «фотография», а не «фотография пользователя».

Чтобы получить информацию о фотографии, которую вы используете:

https://outlook.office365.com/api/beta/Me/photo

Чтобы получить фотографию, которую вы звоните

https://outlook.office365.com/api/beta/Me/photo/$value

Чтобы получить список всех доступных размеров фотографий, используйте эту конечную точку API —

https://outlook.office.com/api/beta/me/Photos/

Пример ответа -

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Photos",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('48X48')",
            "@odata.readLink": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('48X48')",
            "@odata.mediaContentType": "image/jpeg",
            "@odata.mediaEtag": "\"7A1F3A9D\"",
            "Id": "48X48",
            "Height": 48,
            "Width": 48
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('64X64')",
            "@odata.readLink": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('64X64')",
            "@odata.mediaContentType": "image/jpeg",
            "@odata.mediaEtag": "\"7A1F3A9D\"",
            "Id": "64X64",
            "Height": 64,
            "Width": 64
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('96X96')",
            "@odata.readLink": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('96X96')",
            "@odata.mediaContentType": "image/jpeg",
            "@odata.mediaEtag": "\"7A1F3A9D\"",
            "Id": "96X96",
            "Height": 96,
            "Width": 96
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('120X120')",
            "@odata.readLink": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('120X120')",
            "@odata.mediaContentType": "image/jpeg",
            "@odata.mediaEtag": "\"7A1F3A9D\"",
            "Id": "120X120",
            "Height": 120,
            "Width": 120
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('240X240')",
            "@odata.readLink": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('240X240')",
            "@odata.mediaContentType": "image/jpeg",
            "@odata.mediaEtag": "\"7A1F3A9D\"",
            "Id": "240X240",
            "Height": 240,
            "Width": 240
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('360X360')",
            "@odata.readLink": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('360X360')",
            "@odata.mediaContentType": "image/jpeg",
            "@odata.mediaEtag": "\"7A1F3A9D\"",
            "Id": "360X360",
            "Height": 360,
            "Width": 360
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('432X432')",
            "@odata.readLink": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('432X432')",
            "@odata.mediaContentType": "image/jpeg",
            "@odata.mediaEtag": "\"7A1F3A9D\"",
            "Id": "432X432",
            "Height": 432,
            "Width": 432
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('504X504')",
            "@odata.readLink": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('504X504')",
            "@odata.mediaContentType": "image/jpeg",
            "@odata.mediaEtag": "\"7A1F3A9D\"",
            "Id": "504X504",
            "Height": 504,
            "Width": 504
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('648X648')",
            "@odata.readLink": "https://outlook.office.com/api/beta/Users('[email protected]')/Photos('648X648')",
            "@odata.mediaContentType": "image/jpeg",
            "@odata.mediaEtag": "\"7A1F3A9D\"",
            "Id": "648X648",
            "Height": 648,
            "Width": 648
        }
    ]
}

Чтобы получить фактический BLOB-объект желаемого размера фотографии, вызовите этот API —

https://outlook.office.com/api/beta/me/Photos('120X120')/$value
person Ampers    schedule 04.11.2015
comment
Спасибо за этого друга.. где ты его нашел? - person Rahul Patil; 05.11.2015
comment
@RahulPatil В комментариях под вопросом Элио Стройф указал мне на: dev.office.com/blogs/Update-3-on-Office-365-unified-API ... Мне до сих пор не удалось получить изображение определенного размера (например, outlook.office365 .com/api/beta/Me/photo('120x120')/$value) для работы - person Ampers; 05.11.2015
comment
Попробуйте эту конечную точку — outlook.office. .com/api/beta/Users(user_email_id')/ - person Rahul Patil; 06.11.2015
comment
Или эта конечная точка.. упрощенно — outlook.office. com/api/beta/me/Photos('120X120')/$value - person Rahul Patil; 06.11.2015
comment
@RahulPatil Да, фотографии (с буквой «s» в конце) работают. Спасибо за обновления. - person Ampers; 09.11.2015

С конфигурацией Office 365 вашей организации все в порядке. Outlook UserPhoto API перестал работать с данной конечной точкой. К сожалению, они еще не обновили документацию. Будем надеяться, что это будет скоро или они, по крайней мере, обновят документацию с новой конечной точкой API.

person Rahul Patil    schedule 30.10.2015
comment
Фу, не только я. Спасибо, что дали мне знать. Я проверю msdn.microsoft.com/en -us/office/office365/api/, чтобы узнать, обновляют ли они свою документацию. Он находится в бета-версии, поэтому они предупреждают, что он может сломаться, но было бы хорошо, если бы MS сообщила нам, когда он сломается. - person Ampers; 05.11.2015