首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >面向团队的对象客户机- Microsoft.Office.Uc

面向团队的对象客户机- Microsoft.Office.Uc
EN

Stack Overflow用户
提问于 2019-07-03 08:13:43
回答 2查看 1.5K关注 0票数 2

我正在尝试访问Microsoft COM对象

正如在PowerShell中使用Skype For Business和Lync client对象一样。

正好相反。

代码语言:javascript
运行
复制
[Reflection.Assembly]::LoadFile("C:\temp\Microsoft.Lync.Model.dll")
[Reflection.Assembly]::LoadFile("C:\temp\microsoft.office.uc.dll")
$lyncclient = [Microsoft.Lync.Model.LyncClient]::GetClient()
$lyncclient2 = [Microsoft.Lync.Model.ContactInformationType]::Availability
$lyncclient.Self.Contact.GetContactInformation($lyncclient2);

此代码将导致当前Lync/Skype用户的存在。

代码语言:javascript
运行
复制
$teamsClient = [Microsoft.Office.Uc.IUCOfficeIntegration]
$teamsClient.GetInterfaces()

以下的小文章presence.htm,我甚至不能收到在得到-儿童的HKLM仅在Get-儿童HKCU的Com列表。

我的目标是使用与Outlook相同的功能,在MS团队中读取用户的存在。

EN

回答 2

Stack Overflow用户

发布于 2021-02-25 16:31:08

团队仍在通过COM公开一些功能。它实现了IUCOfficeIntegration接口,因此Microsoft可以在Outlook本身中显示联系人的可用状态。

有关如何工作的更多信息可以在这里找到。

https://github.com/MicrosoftDocs/office-developer-client-docs/blob/master/docs/shared/integrating-im-applications-with-office.md

我只是快速地描述了我做了什么,以获得可利用的信息,通过COM。注意,这是C#代码。我希望这还能帮上忙。

获取Teams类的ClassID。

安装Outlook和Team后,团队将注册为能够向Outlook提供可用信息的IM应用程序。这是通过编写一些注册表节点来完成的。在这里可以找到Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\IM提供者\Team

获取可用性:

为了做到这一点,我基本上颠倒了链接文章中演示如何为实现客户机的所有步骤,因为我想使用Teams。请注意,需要安装Lync (https://www.microsoft.com/en-us/download/details.aspx?id=36824),因为所有都是在其中定义的。(需要参考Microsoft.Office.Uc.dll )。也许这个图书馆可以

代码语言:javascript
运行
复制
class Program
{

  static void Main()
  {
    var version = "15.0.0.0";
    var teams = (IUCOfficeIntegration) new TeamsOfficeIntegration();

    var client = (IClient) teams.GetInterface(version, OIInterface.oiInterfaceILyncClient);

    var contactManager = client.ContactManager;

    var uri = "name@company.com";
    var contact = contactManager.GetContactByUri(uri);
    var availibility =
        (ContactAvailability) contact.GetContactInformation(ContactInformationType.ucPresenceAvailability);
  }

  [ComImport, Guid("00425F68-FFC1-445F-8EDF-EF78B84BA1C7")]
  public class TeamsOfficeIntegration
  {
  }
}

我将尝试上传一个小项目到GitHub演示.

由于Powershell是基于.NET的,所以这在某种程度上也是可能的。或者可以编写一个小型的C#互操作库。

票数 4
EN

Stack Overflow用户

发布于 2019-07-03 14:13:56

团队根本不使用COM,也永远不会使用COM。

我们计划支持Microsoft中的存在API,没有日期可供共享。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56865704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档