有没有更好的方法在机器人应用程序中启动 outlook add-appointment window?
Is there any better way to launch outlook add-appointment window in bot application?
我需要在机器人应用程序中启动 outlook 日历约会。我在 Microsoft 文档中找到了以下用于启动 outlook 电子邮件的代码。
var message = context.MakeMessage() as IMessageActivity;
message.ChannelData = JObject.FromObject(new
{
action = new { type = "LaunchUri", uri = "mailto:someone@example.comsubject=This%20is%20the%20subject&body=This%20is%20t e%20body"
}
});
await context.PostAsync(message);
我也试过 Microsoft.Office.Interop.Outlook 添加约会,但它对我也不起作用。
Outlook.Application outlookApp = new Outlook.Application(); // creates new outlook app
Outlook.AppointmentItem oAppointment = (Outlook.AppointmentItem)outlookApp.CreateItem(Outlook.OlItemType.olAppointmentItem); // creates a new appointment
oAppointment.Subject = apt.Subject;
oAppointment.Body = apt.Body;
oAppointment.Location = apt.Location;
oAppointment.Start = Convert.ToDateTime(apt.StartTime);
oAppointment.End = Convert.ToDateTime(apt.EndTime);
有没有更好的启动outlook日历约会的方法。
您的代码必须调用 oAppointment.Save
。
你到底想做什么?静默创建约会(然后您上面的代码需要调用 oAppointment.Save
)或将其显示给用户(然后调用 oAppointment.Display
)?
如果您的代码 运行 在服务器上,请创建一个 iCal 文件并让用户下载并在(本地)Outlook 中打开 - 它会很乐意显示约会。
Steve 提到你可以使用 Microsoft Graph。
您可以将 ics 文件作为媒体附件发送(我没试过)。
或者您可以调查协议处理程序 outlookcal 是否支持深度 linking。
我想这个 link 告诉你它在 Teams 中是如何工作的
https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/deep-links
我需要在机器人应用程序中启动 outlook 日历约会。我在 Microsoft 文档中找到了以下用于启动 outlook 电子邮件的代码。
var message = context.MakeMessage() as IMessageActivity;
message.ChannelData = JObject.FromObject(new
{
action = new { type = "LaunchUri", uri = "mailto:someone@example.comsubject=This%20is%20the%20subject&body=This%20is%20t e%20body"
}
});
await context.PostAsync(message);
我也试过 Microsoft.Office.Interop.Outlook 添加约会,但它对我也不起作用。
Outlook.Application outlookApp = new Outlook.Application(); // creates new outlook app
Outlook.AppointmentItem oAppointment = (Outlook.AppointmentItem)outlookApp.CreateItem(Outlook.OlItemType.olAppointmentItem); // creates a new appointment
oAppointment.Subject = apt.Subject;
oAppointment.Body = apt.Body;
oAppointment.Location = apt.Location;
oAppointment.Start = Convert.ToDateTime(apt.StartTime);
oAppointment.End = Convert.ToDateTime(apt.EndTime);
有没有更好的启动outlook日历约会的方法。
您的代码必须调用 oAppointment.Save
。
你到底想做什么?静默创建约会(然后您上面的代码需要调用 oAppointment.Save
)或将其显示给用户(然后调用 oAppointment.Display
)?
如果您的代码 运行 在服务器上,请创建一个 iCal 文件并让用户下载并在(本地)Outlook 中打开 - 它会很乐意显示约会。
Steve 提到你可以使用 Microsoft Graph。
您可以将 ics 文件作为媒体附件发送(我没试过)。
或者您可以调查协议处理程序 outlookcal 是否支持深度 linking。
我想这个 link 告诉你它在 Teams 中是如何工作的 https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/deep-links