2013-10-18 52 views
1

Heyo,我在我的NodeJS项目中使用google-api-nodejs-client包,我试图构建日历事件的查询。它正在工作,但我无法指定“字段”字段。Google日历API NodeJS - 指定字段

这个返回五个完整的日历事件:

client.calendar.events.list({ 
    calendarId: gcal_id, 
    maxResults: 5 
}) 
.withAuthClient(authClient) 
.execute(function(err, calendar) { 
    if (err) 
     console.log(err); 
    else 
     console.log(calendar); 
}); 

但这没有返回值:

client.calendar.events.list({ 
    calendarId: gcal_id, 
    maxResults: 5, 
    fields: { 
     items: ["end","start","status","summary"] 
    } 
}) 
.withAuthClient(authClient) 
.execute(function(err, calendar) { 
    if (err) 
     console.log(err); 
    else 
     console.log(calendar); 
}); 

我也试过:

fields: { 
    items: "end,start,status,summary" 
} 

基础上的谷歌日历V3 API ,我应该可以这样查询: https://www.googleapis.com/calendar/v3/calendars/gcal_id.google.com/events?maxResults=5&fields=items(end%2Cstart%2Cstatus%2Csummary)&key= {YOU R_API_KEY}

我不知道如何指定URL的“fields = items(end%2Cstart%2Cstatus%2Csummary)”部分,但我已经在Google的API Explorer中测试过它,所以我知道我在JavaScript中做错了什么。

任何帮助将不胜感激。现在我想我会清理从第一个代码片段中得到的响应。

回答

5

嗯,我想通了。它应该是一个字符串。

fields: "items(end,start,status,summary)" 
+0

只是想补充说,截至2017年3月6日,如果指定'''fields''',它将只返回指定的字段。例如,如果你通过'''“items(summary)'''',那么每个项目只返回摘要。 – Caleb