数据库事件显示到Google日历

时间:2018-09-19 11:24:04

标签: java spring postgresql hibernate google-calendar-api


我正在开发一个应用程序,它的功能类似于预订系统。主要组件是日历,其中显示创建的事件,这些事件存储在PostgreSQL数据库中。我现在的挑战是显示从数据库到管理员的Google日历的所有事件。管理员打开自己的Google日历后,他仅有权查看事件,而无权对其进行编辑。

我使用的技术是Apache / Tomcat,Java,Spring和Hibernate。 有人可以帮助我,或指导我找到明确的解决方案吗?

1 个答案:

答案 0 :(得分:0)

如果您正在寻找指南,那么documentation可以为您提供很多帮助。

首先,您需要了解Google Calendar API的概念。您可以阅读basic concept on the overview page了解更多详细信息。此外,如果您的目标只是更多有关事件的信息,则需要确保您已访问this

这是从文档中给出的示例开始的示例代码段。此示例演示如何创建事件并设置其元数据:

// Refer to the Java quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/java
// Change the scope to CalendarScopes.CALENDAR and delete any stored
// credentials.

Event event = new Event()
    .setSummary("Google I/O 2015")
    .setLocation("800 Howard St., San Francisco, CA 94103")
    .setDescription("A chance to hear more about Google's developer products.");

DateTime startDateTime = new DateTime("2015-05-28T09:00:00-07:00");
EventDateTime start = new EventDateTime()
    .setDateTime(startDateTime)
    .setTimeZone("America/Los_Angeles");
event.setStart(start);

DateTime endDateTime = new DateTime("2015-05-28T17:00:00-07:00");
EventDateTime end = new EventDateTime()
    .setDateTime(endDateTime)
    .setTimeZone("America/Los_Angeles");
event.setEnd(end);

String[] recurrence = new String[] {"RRULE:FREQ=DAILY;COUNT=2"};
event.setRecurrence(Arrays.asList(recurrence));

EventAttendee[] attendees = new EventAttendee[] {
    new EventAttendee().setEmail("lpage@example.com"),
    new EventAttendee().setEmail("sbrin@example.com"),
};
event.setAttendees(Arrays.asList(attendees));

EventReminder[] reminderOverrides = new EventReminder[] {
    new EventReminder().setMethod("email").setMinutes(24 * 60),
    new EventReminder().setMethod("popup").setMinutes(10),
};
Event.Reminders reminders = new Event.Reminders()
    .setUseDefault(false)
    .setOverrides(Arrays.asList(reminderOverrides));
event.setReminders(reminders);

String calendarId = "primary";
event = service.events().insert(calendarId, event).execute();
System.out.printf("Event created: %s\n", event.getHtmlLink());