Подтвердить что ты не робот

Профиль пользователя avatar 365

У нас есть система, которая каким-то образом будет интегрироваться с Office 365, и мы хотели бы использовать изображение профиля, установленное пользователем в системе Office 365, вместо того, чтобы сами хранить это изображение/ссылку. Однако я не могу найти способ доступа к этому изображению (например, через адрес электронной почты) из-за пределов Office 365.

Другими словами, Office 365 способен обслуживать изображение профиля пользователя аналогично Gravatar?

4b9b3361

Ответ 1

Вы также можете использовать Unified API Office365 (Preview) https://msdn.microsoft.com/office/office365/APi/photo-rest-operations

И используйте в качестве кодированного изображения Base64. Обратите внимание на измененный API с момента последнего обновления.

Здесь мой код:

 HttpClient client = new HttpClient();
 HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get,
       "https://outlook.office.com/api/beta/me/photos('96x96')/$value");
        request.Headers.Add("ACCEPT", "image/*");
        request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken);
        HttpResponseMessage response = await client.SendAsync(request);
        byte[] byteArray = await response.Content.ReadAsByteArrayAsync();

        string base64ImageRepresentation = Convert.ToBase64String(byteArray);

        if (!response.IsSuccessStatusCode && response.StatusCode >= HttpStatusCode.BadRequest)
        {
            return string.Empty;
        }

        return base64ImageRepresentation;