使用 windows 服务识别 Lync 中的所有用户状态

Identify all users presence states in Lync with an windows service

我有一个简单的需求,但我不知道如何在服务中解决它。 我使用 Microsoft.Lync.Model 和以下代码

LyncClient.GetClient();
foreach (Group _Group in lyncClient.ContactManager.Groups)
{ 
  if (_Group.Type == GroupType.CustomGroup)
  {
     GetGroupContacts(_Group);
  }
}

GeGroupContacts 仅包含以下代码

  // Iterate on the contacts in the group.
  foreach (Contact _Contact in group)
  {

    Console.WriteLine("{0}  ist {1}", 
    _Contact.GetContactInformation(ContactInformationType.DisplayName),                
    _Contact.GetContactInformation(ContactInformationType.Activity));

    }

这些将迭代现有的分组并在控制台中列出所有用户和状态。这很好用。所以我的理解是,这使用我自己的凭据来执行操作。

是否可以使用 "managed" 帐户在 windows 服务中获取在线状态。以便可以创建一个列表,其中包含用于疏散目的的用户的存在?

是否有其他解决方案? 我认为 Lync 2013 和 S4B 在 api?

方面没有区别

如果您想编写基于服务器的解决方案,那么我建议客户端 API 不适合,而是查看 UCMA https://msdn.microsoft.com/en-us/library/office/dn454984(v=office.15).aspx。 UCMA 是一个 API,它允许您编写基于服务器的解决方案来响应整个 Lync/Skype 环境中的事件,而不仅仅是单个用户。