Google 日历 API V3 不遵守 nodejs Express 应用程序中的 timeMin timeMax 参数
Google Calendar API V3 doesn't respect timeMin timeMax parameters in nodejs Express application
我已经设法获取两个日期之间的所有事件,如 this 纯 nodeJs 环境示例中所述。
但是当我对 nodeJs Express App 使用相同的编码时,它不考虑 timeMin 和 timeMax 参数。
相反,我从我在日历上创建第一个事件的日期开始获取所有事件。
这是我的代码块。
function listEvents(auth) {
var calendar = google.calendar('v3');
calendar.events.list({
auth: auth,
calendarId: 'primary',
timeMin: (new Date(Date.parse("2018-01-22"))).toISOString(),
timeMax: (new Date(Date.parse("2018-02-27"))).toISOString(),
singleEvents: true,
orderBy: 'startTime'
}, function(err, response) {
if (err) {
console.log('The API returned an error: ' + err);
return;
}
var events = response.items;
if (events.length === 0) {
console.log('No upcoming events found.');
}
else {
// Do Some Stuff ...............
}
});
}
我在这里错过了什么..?
入门示例似乎不正确,但与文档一致。
google-auth-library 的 V0.x 使用请求库,因此传递查询字符串选项就可以了:
calendar.events.list(
{
auth: auth,
calendarId: 'primary',
},
{
qs: {
timeMin: (new Date(Date.parse("2018-01-22"))).toISOString(),
timeMax: (new Date(Date.parse("2018-02-27"))).toISOString(),
singleEvents: true,
orderBy: 'startTime'
}
}, function(err, response) {
...
答案url是here
快速入门使用旧版本的 google 授权库。这使它对我有用:
将库更新到最新
npm i google-auth-library@latest
然后在快速启动文件中,像这样更新您的代码
let auth = google.auth;
和
let events = response.data.items;
感谢并修改自:https://github.com/google/google-api-nodejs-client/issues/946#issuecomment-360400714
我已经设法获取两个日期之间的所有事件,如 this 纯 nodeJs 环境示例中所述。
但是当我对 nodeJs Express App 使用相同的编码时,它不考虑 timeMin 和 timeMax 参数。
相反,我从我在日历上创建第一个事件的日期开始获取所有事件。 这是我的代码块。
function listEvents(auth) {
var calendar = google.calendar('v3');
calendar.events.list({
auth: auth,
calendarId: 'primary',
timeMin: (new Date(Date.parse("2018-01-22"))).toISOString(),
timeMax: (new Date(Date.parse("2018-02-27"))).toISOString(),
singleEvents: true,
orderBy: 'startTime'
}, function(err, response) {
if (err) {
console.log('The API returned an error: ' + err);
return;
}
var events = response.items;
if (events.length === 0) {
console.log('No upcoming events found.');
}
else {
// Do Some Stuff ...............
}
});
}
我在这里错过了什么..?
入门示例似乎不正确,但与文档一致。
google-auth-library 的V0.x 使用请求库,因此传递查询字符串选项就可以了:
calendar.events.list(
{
auth: auth,
calendarId: 'primary',
},
{
qs: {
timeMin: (new Date(Date.parse("2018-01-22"))).toISOString(),
timeMax: (new Date(Date.parse("2018-02-27"))).toISOString(),
singleEvents: true,
orderBy: 'startTime'
}
}, function(err, response) {
...
答案url是here
快速入门使用旧版本的 google 授权库。这使它对我有用:
将库更新到最新
npm i google-auth-library@latest
然后在快速启动文件中,像这样更新您的代码
let auth = google.auth;
和
let events = response.data.items;
感谢并修改自:https://github.com/google/google-api-nodejs-client/issues/946#issuecomment-360400714