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

时间:2013-09-09 08:50:20

标签: java web-applications calendar outlook google-calendar-api

我有一个Java Web应用程序,用户可以从中添加包含日期,主题和描述(如任务)的事件。我想以编程方式将这些事件发送到用户的outlook日历。任何人都可以帮我解决这个问题吗?

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

4 个答案:

答案 0 :(得分:7)

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

对于身份验证流程,请参阅this getting started documentation

EG。向https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}/events发布JSON内容,例如:

public Matcher<View> getConstraints() {
    return allOf(withEffectiveVisibility(Visibility.VISIBLE), isDescendantOfA(anyOf(
            isAssignableFrom(ScrollView.class), isAssignableFrom(HorizontalScrollView.class), isAssignableFrom(NestedScrollView.class))));
}

答案 1 :(得分:3)

Google日历似乎是最佳选择,因为您可以使用Google Calendar API。有关用Java编写的示例,请查看here。请务必记下GCal API usage limits

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

答案 2 :(得分:1)

阿尔伯特已经回答了谷歌。对于Outlook,您可以使用OLE automationExchange web services

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

答案 3 :(得分:0)

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