用于业务自动化的 Skype 到 Outlook
skype for business automation to outlook
我必须在 Skype for Business 中添加一项功能,以便在通话开始时自动打开新的 Outlook 任务 window,其中包含 called/calling 联系人的 phone 号码学科领域。是否有任何插件或 api 可以执行此操作?
谢谢
在Lync SDK 2013的帮助下,可以处理新对话添加事件,您还可以在其中获取参与者相关信息。内部对话添加事件处理程序监听 AVModality 状态变化。当 AVModality 状态更改为已连接时,使用 Microsoft.Office.Interop.Outlook outlook 应用程序可以自动化,并且可以创建新任务 window,如下所示
LyncClient lyncClient = new LyncClient();
lyncClient.ConversationManager.ConversationAdded += OnConversationAdded;
private void OnConversationAdded(object sender, Microsoft.Lync.Model.Conversation.ConversationManagerEventArgs e)
{
e.Conversation.Modalities[ModalityTypes.AudioVideo].ModalityStateChanged += OnAudioVideoModalityStateChanged;
}
private void OnAudioVideoModalityStateChanged(object sender, ModalityStateChangedEventArgs e)
{
switch(e.NewState)
{
case ModalityState.Connected:
Application oOutlook = null;
oOutlook = new Application();
TaskItem oTask = (TaskItem)oOutlook.CreateItem(OlItemType.olTaskItem);
oTask.Subject = "Testing";
oTask.StartDate = DateTime.Now;
oTask.Display(true);
break;
}
}
我必须在 Skype for Business 中添加一项功能,以便在通话开始时自动打开新的 Outlook 任务 window,其中包含 called/calling 联系人的 phone 号码学科领域。是否有任何插件或 api 可以执行此操作? 谢谢
在Lync SDK 2013的帮助下,可以处理新对话添加事件,您还可以在其中获取参与者相关信息。内部对话添加事件处理程序监听 AVModality 状态变化。当 AVModality 状态更改为已连接时,使用 Microsoft.Office.Interop.Outlook outlook 应用程序可以自动化,并且可以创建新任务 window,如下所示
LyncClient lyncClient = new LyncClient();
lyncClient.ConversationManager.ConversationAdded += OnConversationAdded;
private void OnConversationAdded(object sender, Microsoft.Lync.Model.Conversation.ConversationManagerEventArgs e)
{
e.Conversation.Modalities[ModalityTypes.AudioVideo].ModalityStateChanged += OnAudioVideoModalityStateChanged;
}
private void OnAudioVideoModalityStateChanged(object sender, ModalityStateChangedEventArgs e)
{
switch(e.NewState)
{
case ModalityState.Connected:
Application oOutlook = null;
oOutlook = new Application();
TaskItem oTask = (TaskItem)oOutlook.CreateItem(OlItemType.olTaskItem);
oTask.Subject = "Testing";
oTask.StartDate = DateTime.Now;
oTask.Display(true);
break;
}
}