所以,我忙于一个项目。我是node.js的新手,但不是javascript。我想使用Node添加日历事件。
这是我到目前为止所做的:
var event = {
'summary': 'Dinner',
'location': 'Epic',
'description': 'Get Coding!',
'start': {
'dateTime': '2016-04-30T18:30:00-19:30',
'timeZone': 'Pacific/Auckland',
},
'end': {
'dateTime': '2016-04-30T19:30:00-20:00',
'timeZone': 'Pacific/Auckland',
},
'recurrence': [
'RRULE:FREQ=DAILY;COUNT=2'
],
'attendees': [
{'email': 'lpage@example.com'},
{'email': 'sbrin@example.com'},
],
'reminders': {
'useDefault': false,
'overrides': [
{'method': 'email', 'minutes': 24 * 60},
{'method': 'popup', 'minutes': 10},
],
},
};
calendar.events.insert({
auth: auth,
calendarId: 'primary',
resource: event,
}, function(err, event) {
if (err) {
console.log('There was an error contacting the Calendar service: ' + err);
return;
}
});
console.log('Event created: %s', event.htmlLink);
function insertEvents(auth) {
var calendar = google.calendar('v3');
}

当我运行此文件时,我收到"创建的事件:未定义"从控制台。我已经尝试了多种方法来解决这个问题而没有运气。我带走了" .readonly"从日历上,我已经改变了#client; secret_secret"多次(新证书。)
编辑:
我发现我可以将数据输入谷歌日历,但时间有问题。但这是另一个问题。
现在,问题是,"为什么它未定义?"
答案 0 :(得分:0)
您的console.log函数正在您的事件中查找未定义的htmlLink。使用谷歌提供的代码,您的代码将始终返回undefined。
只需在事件声明中添加以下行:
'htmlLink' : '/*your HTML Link*/',
您还可以将htmlLink替换为已定义的另一个变量,例如“summary”,这可能更符合您的需求。
现在它返回“Event Created:Dinner”
答案 1 :(得分:0)
尝试
console.log('Event created: %s', event.data.htmlLink);
代替
console.log('Event created: %s', event.htmlLink);
答案 2 :(得分:-1)
我们在哪里定义htmlLink?或者它是Nodejs的一部分。 我会重命名var事件。至少在未命名的函数中,它被函数参数隐藏。 你能单步吗?