我使用Lync 2013 SDK小应用程序的工作。 是否有SDK提供的,我可以实现一个功能,允许用户使用SDK提供的API来上传自己的头像任何方式。
如果可能的话,然后什么,在哪里存储它的最佳方式,如果用户在Active Directory中配置?
等待从你身边的积极响应。
问候
什么
我使用Lync 2013 SDK小应用程序的工作。 是否有SDK提供的,我可以实现一个功能,允许用户使用SDK提供的API来上传自己的头像任何方式。
如果可能的话,然后什么,在哪里存储它的最佳方式,如果用户在Active Directory中配置?
等待从你身边的积极响应。
问候
什么
您可以使用获得流通过SDK照片
var photoStream = Client.Self.Contact.GetContactInformation(ContactInformationType.Photo) as System.IO.Stream
而同时可以读取数据流,你在这一点上看着从公元联系人信息,你不能写它。
那种感觉就像你想写什么来改变照片AD的不是Lync中的photoThumbnails属性。
最新更新的Lync(Lync客户端CU3(月更新))必须将图片设置选项重新添加到GUI。
与条的解释和截图可以在这里找到: 的Lync客户端CU3(月更新) -显示来自网站的图片! 。
虽然这是一个不同的问题,我的回答这个问题( 显示为一个应用程序端点的照片 )是在这里也有效:
基本上,没有设置用户的照片的URL的选项,但它不再在Lync 2013客户端界面(这是那里的Lync 2010客户端)显示。 如果你能得到你的代码的图像发布到Web访问的位置,你可以发布的网址,并更改用户的图片的方式。
作为参考,在回答另一个问题:
发布在场信息(包括照片设置)是在完成LocalEndpoint.LocalOwnerPresence
。 无论UserEndpoint
和ApplicationEndpoint
派生自LocalEndpoint
,所以这应该是可行真的。
因为有很多“层次”将发布的不同组合的实际出版变得稍微复杂:
首先,有一堆InstanceID
,你需要知道,他们读了这里的值: 存在数据源和类别实例ID
其次,是谁这个存在适用于,看到一个值Microsoft.Rtc.Collaboration.Presence.PresenceRelationshipLevel
。 不要上发布Unknown
,你会得到一个异常。
public enum PresenceRelationshipLevel
{
Unknown = -1,
Everyone = 0,
External = 100,
Colleagues = 200,
Workgroup = 300,
Personal = 400,
Blocked = 32000,
}
您需要发布PresenceCategoryWithMetaData
用户照片的属性,这是容器的一部分0x5
,“存在实体的信息”。
var photoPresence = new PresenceCategoryWithMetaData(
0x5, // The container id
(int)PresenceRelationshipLevel.Everyone,
new ContactCard(0x5) // Same container ID again
{
IsAllowedToShowPhoto = true,
PhotoUri = "<uri to your photo here"
});
您可以设置一个ExpiryPolicy
此对象上也应自我explainatory真的。 然后发布在端点这种存在对象:
Endpoint.LocalOwnerPresence.BeginPublishPresence(new[] { photoPresence }, cb => {
Endpoint.LocalOwnerPresence.EndPublishPresence(cb);
}, null);
这应该这样做,真的。 我最终明确发布到所有关系水平,因为它没有级联数据逻辑上预期。