Microsoft Teams 是否可以更新用户的状态/状态?

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,但找不到任何有关更新用户状态的信息。

他们的文档中是否没有列出类似的东西,允许我改变自己的状态/存在?

Mar*_*eur 5

我很乐意帮助解决目前在生产或预览中存在的 API,但 Stack Overflow 不是长期路线图讨论的合适平台。这最好留给官方渠道在准备就绪时进行披露。

目前,您是对的,因为 Microsoft Teams SDK 不包含用于与 Presence 交互的 API。这是因为 Teams 本身正在使用 Skype 的 API 镜像 Skype 的存在。您可以使用类似的 API 在您的应用程序中复制此功能。

一个好的起点是统一通信 Web API (UCWA)。如果您只是想显示 Presence(而不是操纵它),您可以检索contactPresence。要操纵当前用户的状态,您可以使用Presence