我修改了此处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日历中检索单个事件的数据,并且没有任何用处。任何帮助将不胜感激。
提前致谢。
答案 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扩展。