【发布时间】:2013-10-16 13:13:48
【问题描述】:
我正在使用 lync 2013 sdk 开发小型应用程序。 sdk 中是否提供了任何方法,我可以实现一个功能,允许用户使用 SDK 中提供的任何 API 上传他的图片。
如果可能的话,如果用户是在活动目录中配置的,那么最好的存储方式和存储方式是什么?
等待您的积极回应。
问候
阿米特
【问题讨论】:
标签: c# lync lync-client-sdk lync-2013 instantmessenger
我正在使用 lync 2013 sdk 开发小型应用程序。 sdk 中是否提供了任何方法,我可以实现一个功能,允许用户使用 SDK 中提供的任何 API 上传他的图片。
如果可能的话,如果用户是在活动目录中配置的,那么最好的存储方式和存储方式是什么?
等待您的积极回应。
问候
阿米特
【问题讨论】:
标签: c# lync lync-client-sdk lync-2013 instantmessenger
您可以使用 SDK 通过 SDK 获取到照片的流
var photoStream = Client.Self.Contact.GetContactInformation(ContactInformationType.Photo) as System.IO.Stream
虽然您可以读取流,但无法写入,因为此时您正在查看来自 AD 的联系信息。
感觉就像您想写一些东西来更改 AD 的 photoThumbnails 属性中的照片,而不是在 Lync 中。
【讨论】:
最新的 Lync 更新(Lync 客户端 CU3(11 月更新))可以选择将照片添加回 GUI。
可以在此处找到带有解释和屏幕截图的文章:Lync Client CU3 (November Update) – Show a picture from a website!。
虽然这是一个不同的问题,但我对这个问题 (Displaying a photo for an Application endpoint) 的回答在这里也有效:
基本上,有一个选项可以将用户的照片设置为 URL,但它不再显示在 Lync 2013 客户端界面中(它在 Lync 2010 客户端中存在)。如果您可以获取将图像发布到 Web 可访问位置的代码,则可以将 URL 发布到该位置并以这种方式更改您的用户图片。
供参考,另一个问题的答案:
在LocalEndpoint.LocalOwnerPresence 上发布状态信息(包括照片设置)。 UserEndpoint 和 ApplicationEndpoint 都派生自 LocalEndpoint,所以这应该是可行的。
实际发布会稍微复杂一些,因为要发布的“级别”有很多不同的组合:
首先,您需要了解大量 InstanceID 值,请在此处阅读它们:Presence data source and category instance 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,真的应该是自我解释的。然后在您的端点上发布此出席对象:
Endpoint.LocalOwnerPresence.BeginPublishPresence(new[] { photoPresence }, cb => {
Endpoint.LocalOwnerPresence.EndPublishPresence(cb);
}, null);
确实应该这样做。我最终明确发布到所有关系级别,因为它没有按逻辑预期级联数据。
【讨论】: