繁体   English   中英

如何以编程方式将事件添加到 Outlook 日历或 Google 日历?

[英]How to add events to Outlook Calendar or Google Calendar programmatically?

我有一个 Java Web 应用程序,用户可以从中添加带有日期、主题和描述(如任务)的事件。 我想以编程方式将这些事件发送到用户的 Outlook 日历。 谁能帮助我如何实现这一目标?

PS:如果它可以通过谷歌日历完成,请告诉我如何做到这一点,因为我没有坚持使用 Outlook :)

您现在可以使用Outlook 日历 REST API并从您的 Java 代码发送请求。

有关身份验证流程,请参阅此入门文档

例如。 POST 到https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}/events一个 JSON 内容,如:

{
  "Subject": "Discuss the Calendar REST API",
  "Body": {
    "ContentType": "HTML",
    "Content": "I think it will meet our requirements!"
  },
  "Start": {
      "DateTime": "2014-02-02T18:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "End": {
      "DateTime": "2014-02-02T19:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "Attendees": [
    {
      "EmailAddress": {
        "Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Janet Schorr"
      },
      "Type": "Required"
    }
  ]
}

Google Calendar 似乎是最佳选择,因为您可以使用Google Calendar API 有关用 Java 编写的示例,请查看此处 请务必注意GCal API 使用限制

Outlook 似乎没有某种 API,但也许您可以使用或修改Jpstjava-libpst 之类的东西。

阿尔伯特已经为谷歌回答了。 对于 Outlook,您可以使用OLE 自动化Microsoft Graph *

请注意,第二个选项仅适用于与 Exchange Server 通信的 Outlook 帐户。 如果您通过 Outlook 访问其他邮件后端,则不能使用 Graph,只能使用 OLE。

* 2021 年 2 月更新:基于 SOAP 的 Exchange Web 服务仍然有效,但如果您开始新的工作,请使用基于 REST 的 Graph API

您还可以直接使用 GCal RESTful API。 Java 类实际上只是包装了 REST 调用。
如果您在 Google 日历中创建了活动,您可以从 Outlook 订阅您的 Google 日历,并将您的活动也导入到 Outlook 中(尽管您必须为此使用 WebDAV)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM