【问题标题】:Office 365 profile avatar pictureOffice 365 个人资料头像图片
【发布时间】:2012-09-18 12:57:00
【问题描述】:

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

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

【问题讨论】:

  • 什么是系统,它将如何连接到 Office 365,您的环境有什么样的身份管理?您是完全在云端还是设置了本地 AD 和 ADFS?

标签: c# asp.net-mvc office365 gravatar


【解决方案1】:

您还可以使用 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;

【讨论】:

  • 哦,帖子是 2012 年的 :) 但也许有人需要信息
【解决方案2】:

您可以使用 Graph API 来获取包含头像的用户实体记录

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

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

【讨论】:

  • 请确保避免仅链接的答案,因为它们可能会随着时间的推移而被删除。相反,考虑添加一些代码或解释。谢谢。
猜你喜欢
  • 2018-08-25
  • 2014-08-31
  • 1970-01-01
  • 2014-12-31
  • 2017-09-30
  • 1970-01-01
  • 1970-01-01
  • 2018-04-08
  • 1970-01-01
相关资源
最近更新 更多