显示用户在图片的Lync 2013(Display User Picture in Lync 201

2019-09-26 12:54发布

我使用Lync 2013 SDK小应用程序的工作。 是否有SDK提供的,我可以实现一个功能,允许用户使用SDK提供的API来上传自己的头像任何方式。

如果可能的话,然后什么,在哪里存储它的最佳方式,如果用户在Active Directory中配置?

等待从你身边的积极响应。

问候

什么

Answer 1:

您可以使用获得流通过SDK照片

var photoStream = Client.Self.Contact.GetContactInformation(ContactInformationType.Photo) as System.IO.Stream

而同时可以读取数据流,你在这一点上看着从公元联系人信息,你不能写它。

那种感觉就像你想写什么来改变照片AD的不是Lync中的photoThumbnails属性。



Answer 2:

更新为2013年12月11日

最新更新的Lync(Lync客户端CU3(月更新))必须将图片设置选项重新添加到GUI。

  • 链接到知识库文章
  • 链接到下载

与条的解释和截图可以在这里找到: 的Lync客户端CU3(月更新) -显示来自网站的图片! 。


原来的答案

虽然这是一个不同的问题,我的回答这个问题( 显示为一个应用程序端点的照片 )是在这里也有效:

基本上,没有设置用户的照片的URL的选项,但它不再在Lync 2013客户端界面(这是那里的Lync 2010客户端)显示。 如果你能得到你的代码的图像发布到Web访问的位置,你可以发布的网址,并更改用户的图片的方式。

作为参考,在回答另一个问题:


发布在场信息(包括照片设置)是在完成LocalEndpoint.LocalOwnerPresence 。 无论UserEndpointApplicationEndpoint派生自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);

这应该这样做,真的。 我最终明确发布到所有关系水平,因为它没有级联数据逻辑上预期。



文章来源: Display User Picture in Lync 2013