在javascript

时间:2016-06-13 21:37:03

标签: javascript google-calendar-api

我修改了此处Retrieve Google Calendar events using API v3 in javascript中的脚本,以显示未来30天即将发生的事件的页面,其中总结了每个事件。

我想在上一页的每个事件摘要中创建一个链接到另一个页面,该页面将显示特定单个事件的更多详细信息。

我似乎无法编写将成功获取eventId并查询Google Calendar API以检索该单个事件的资源的代码。

我提前道歉,因为我正在尝试学习Javascript,所以我怀疑这是一件相当简单的事情,我坚持不懈。

我相信在makeApiCall()函数中,我希望改变以下开头的行:

var request = gapi.client.calendar.events.list({

为:

gapi.client.load(' calendar',' v3',function(){         var request = gapi.client.calendar.events.get({             ' calendarId' :userEmail,             ' eventId':eventIDstr});

使用Google的API资源管理器页面时,我可以得到有效答案,因此我知道我有正确的日历和事件ID。似乎无法将其应用于正确的javascript以获得我正在寻找的结果。

我搜索了javascript样本的高低,这些样本将使用他们的API v3从Google日历中检索单个事件的数据,并且没有任何用处。任何帮助将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:0)

是的,你走的是正确的道路。使用Events:get。事件提供了event resources的不同风格。

HTTP请求

GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId

如果成功,方法会在响应正文中返回event resource

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
.setApplicationName("applicationName").build();

// Retrieve an event
Event event = service.events().get('primary', "eventId").execute();

System.out.println(event.getSummary());

您可以在列表请求中使用singleEvents=true参数来避免第二次调用。这将要求服务器立即为您进行定期event扩展。