如何将 Skype for Business API 的状态设置为 "Off Work"?

How do I set the status to "Off Work" for Skype for Business API?

所有其他状态都可以更新。但如果是 "Off - Work" 场景,我不明白要传递什么。任何帮助,将不胜感激。

"Off Work" 存在状态实际上是 "Away" 存在状态,activity id 设置为 "off-work"。 "activity" 对安装的每种语言都有一组自定义令牌设置,因此它可以正确显示当前系统设置的文本。例如"Off Work" 英文。

UCMA:

您可以自己复制它,也可以使用预先创建的 PresenceState.UserOffWork 值。

例如

await Task.Factory.FromAsync(
    endpoint.PresenceServices.BeginUpdatePresenceState, 
    endpoint.PresenceServices.EndUpdatePresenceState,
    PresenceState.UserOffWork, 
    null);

以上示例假设您使用的是 UCMA UserEndpoint(端点)。

Lync 客户端 SDK:

对于 Lync 客户端 SDK,您需要使用 activity ID 为 "off-work" 发布离开状态类型:

    var publishData = new Dictionary<PublishableContactInformationType, object>
    {
        {PublishableContactInformationType.Availability, ContactAvailability.Away},
        {PublishableContactInformationType.ActivityId, "off-work"}
    };
    Task.Factory.FromAsync(client.Self.BeginPublishContactInformation,
                           client.Self.EndPublishContactInformation,
                           publishData,
                           null);