2016-04-30 77 views
0

因此,我忙於一個項目。我是新來的node.js,但不是JavaScript。我想用Node添加日曆事件。Google Calendar API - 未定義事件

這是我到目前爲止有:

\t var event = { 
 
\t 'summary': 'Dinner', 
 
\t 'location': 'Epic', 
 
\t 'description': 'Get Coding!', 
 
\t 'start': { 
 
\t \t 'dateTime': '2016-04-30T18:30:00-19:30', 
 
\t \t 'timeZone': 'Pacific/Auckland', 
 
\t }, 
 
\t 'end': { 
 
\t \t 'dateTime': '2016-04-30T19:30:00-20:00', 
 
\t \t 'timeZone': 'Pacific/Auckland', 
 
\t }, 
 
\t 'recurrence': [ 
 
\t \t 'RRULE:FREQ=DAILY;COUNT=2' 
 
\t ], 
 
\t 'attendees': [ 
 
\t \t {'email': '[email protected]'}, 
 
\t \t {'email': '[email protected]'}, 
 
\t ], 
 
\t 'reminders': { 
 
\t \t 'useDefault': false, 
 
\t \t 'overrides': [ 
 
\t \t {'method': 'email', 'minutes': 24 * 60}, 
 
\t \t {'method': 'popup', 'minutes': 10}, 
 
\t \t ], 
 
\t }, 
 
\t }; 
 
\t 
 
\t calendar.events.insert({ 
 
\t auth: auth, 
 
\t calendarId: 'primary', 
 
\t resource: event, 
 
\t }, function(err, event) { 
 
\t if (err) { 
 
\t \t console.log('There was an error contacting the Calendar service: ' + err); 
 
\t \t return; 
 
\t } 
 
\t }); 
 
\t console.log('Event created: %s', event.htmlLink); 
 

 
\t function insertEvents(auth) { 
 
\t \t var calendar = google.calendar('v3'); 
 
\t \t 
 
\t }

當我運行這個文件,我收到 「已創建活動:未定義」 從控制檯。我已經嘗試了多種方法來解決這個問題,但沒有運氣。我帶走了「.readonly」從日曆,我已經改變了‘client_secret’多次(新憑證。)

編輯:

我才發現,我能進入我的數據導入谷歌日曆,但時代有問題。但那是另一個問題。

現在,問題是,「爲什麼它沒有定義?」

+0

可能從示波器中刪除只讀。我有同樣的問題 – murmansk

回答

0

htmllink在哪裏定義?或者它是Nodejs的一部分。 我會重命名var事件。至少在未命名的函數中,它被函數參數隱藏。 你能單步嗎?

+0

你好,感謝你的快速回復,我從這個鏈接得到了代碼,我也改變了變量名稱。同樣的錯誤。我可以從Google日曆中獲取信息,但我無法添加到該日曆中。也許不知何故,我的代碼認爲日曆範圍是「只讀」。 https://developers.google.com/google-apps/calendar/quickstart/nodejs#prerequisites –

+0

您的變量(以前的事件?)不包含變量htmlLink。我沒有檢查這個例子,但我想你可能需要添加它。不知道它將用於什麼。 –

0

您的console.log函數正在您的事件中查找htmlLink,而您尚未定義該htmlLink。隨着谷歌提供的代碼,你的代碼將始終返回undefined。

只需在事件聲明中加入這一行:

'htmlLink' : '/*your HTML Link*/', 

你也可以與已經定義,例如「摘要」另一個變量,這可能會滿足您的需求更多的替換htmlLink。

現在它返回「Event Created:Dinner」