14

我们有一个系统将在某些方面与 Office 365 集成,我们希望使用用户在 Office 365 系统中设置的个人资料图片,而不是自己存储此图像/参考。但是,我找不到从 Office 365 外部访问此图像的任何方式(例如通过电子邮件地址)。

换句话说,Office 365 是否能够以类似于Gravatar的方式提供用户的个人资料图片?

4

2 回答 2

6

您还可以使用 Office365 统一 API(预览版)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;
于 2015-11-04T13:55:58.197 回答
1

您可以使用 Graph API 来获取 User Entity 记录,其中包含个人资料图片

http://msdn.microsoft.com/en-us/library/hh974483.aspx - 请参阅 thumbnailPhoto 字段。

对于 REST API 信息:http: //msdn.microsoft.com/en-us/library/hh974478.aspx

于 2013-04-25T08:49:07.227 回答