Raf*_*ael 6 c# microsoft-teams
最近有消息称,Skype For Business 最终将被微软 Teams 下架并取而代之。
我有几个依赖 Skype For Business 的项目,我使用以下代码使用 2013 lync SDK 更新用户在 Skype For Business 上的状态。
public static void PublishPresence(ContactAvailability contactAvailability)
{
var publishData = new Dictionary<PublishableContactInformationType, object>
{
{PublishableContactInformationType.Availability, contactAvailability}
};
SendPublishRequest(publishData);
}
private static void SendPublishRequest(Dictionary<PublishableContactInformationType, object> publishData)
{
try
{
PublishContactInformation(publishData);
}
catch (Exception exception)
{
_logger.Error("Cannot publish presence to Lync. Error: " + exception);
}
}
public static void PublishContactInformation(Dictionary<PublishableContactInformationType, object> publishData)
{
LyncClient lyncClient = LyncClient.GetClient();
lyncClient.Self.BeginPublishContactInformation(publishData, ar => lyncClient.Self.EndPublishContactInformation(ar), null);
}
Run Code Online (Sandbox Code Playgroud)
话虽如此,我们确实计划将我们的项目转移到 Microsoft Teams。但是,我们查看了当前的Microsoft Teams SDK,但找不到任何有关更新用户状态的信息。
他们的文档中是否没有列出类似的东西,允许我改变自己的状态/存在?
我很乐意帮助解决目前在生产或预览中存在的 API,但 Stack Overflow 不是长期路线图讨论的合适平台。这最好留给官方渠道在准备就绪时进行披露。
目前,您是对的,因为 Microsoft Teams SDK 不包含用于与 Presence 交互的 API。这是因为 Teams 本身正在使用 Skype 的 API 镜像 Skype 的存在。您可以使用类似的 API 在您的应用程序中复制此功能。
一个好的起点是统一通信 Web API (UCWA)。如果您只是想显示 Presence(而不是操纵它),您可以检索contactPresence。要操纵当前用户的状态,您可以使用Presence。