当前位置:  开发笔记 > 编程语言 > 正文

如何获得用户的交换/ outlook/office365照片?

如何解决《如何获得用户的交换/outlook/office365照片?》经验,为你挑选了1个好方法。

我们公司在Office 365上.所以当用户登录我的asp.net mvc网站时,我想显示他们的照片,就像Outlook一样.

outlook在哪里获取用户的照片?以及如何以编程方式实现它?

我试过点击ActiveDirectory并获取thumbnailPhoto,但对于大多数用户来说这是空白的.因此,Outlook必须将其纳入其他地方.在哪里以及如何?

我还看到了一些使用Microsoft.Office.Interop.Outlook程序集的示例(假设它需要安装Outlook才能运行).但是,此网站在未安装Outlook的服务器上运行.



1> Abhitalks..:

我试过点击ActiveDirectory并获取thumbnailPhoto,但对于大多数用户来说这是空白的.因此,Outlook必须将其纳入其他地方.在哪里以及如何?

用户照片在您的AD 内部部署中不可用,因为您的用户很可能首先没有将其存储在那里,除非您为他们提供了将其写入AD的应用程序.

用户照片在广告中使用Azure的,因为你的用户最有可能在Outlook(或在线)将他们的照片.

我假设您的内部部署AD正在通过DirsyncADConnect实用程序与Azure AD 同步.如果是,那么实际上或者属性只是单向同步(从内部部署到Azure)并且不会被回写.这里参考DirSync和ADConnect.photothumbnailphoto

这就是为什么你无法将它从你的AD中拿出来的原因.

如何获得用户的交换/ outlook/office365照片?

从Azure AD获取照片的方法有很多种:

    Exchange Web服务(EWS):使用GetUserPhoto操作.基本上发送带有电子邮件地址和大小的SOAP信封.XML响应将为您提供PictureData元素中包含的base64编码的照片

    Exchange Web服务(EWS托管API和/或REST API):基本上使用URL的AutoDiscover服务https://outlook.office365.com/ews/exchange.asmx,然后通过命名空间EWS.Service.ConnectToService上的方法连接Microsoft.Exchange.WebServices.Data,您需要对该库进行引用(可以从此处下载的DLL).该方法保持不变GetUserPhoto,图像包含在二进制响应中.

    Outlook REST API:基本上在您自己的URL和URL处向GETOutlook API(带有承载访问令牌)发送请求.您将获得二进制格式的照片流作为响应.不要忘记追加获取blob,否则你将获得元数据.这里引用了更多细节.https://outlook.office.com/api/{version}/me/photohttps://outlook.office.com/api/{version}/users/email@example.com/photo$value

    Office 365 Unified API(又名图形):基本上与旧API相同.将GET请求(带有持票人令牌)发送到https://graph.microsoft.com/{version}/me/photo/您自己的照片和https://graph.microsoft.com/{version}/users/UPN/photo其他用户的URL .或多或少相同.这里引用了更多细节.这里还有一个沙箱供您探索示例和API参考.您也可以在这里交互方式在线尝试(请不要忘记在解除获取请求之前登录)

希望有所帮助.

更多参考资料:这里,这里和这里.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有