前提・実現したいこと
AWS lambdaを使用して、Googleカレンダーの予定を取得しようとしています。
発生している問題・エラーメッセージ
下記のコードで実行したところ、正常終了はしているが、
カレンダーリストが空白になっています。
該当のソースコード
Node
1const {google} = require('googleapis'); 2const privatekey = require('./privatekey.json'); 3 4exports.handler = (event, context, callback) => { 5 6 Promise.resolve() 7 .then(function(){ 8 return new Promise(function(resolve, reject){ 9 //JWT auth clientの設定 10 const jwtClient = new google.auth.JWT( 11 privatekey.client_email, 12 null, 13 privatekey.private_key, 14 ['https://www.googleapis.com/auth/calendar']); 15 //authenticate request 16 jwtClient.authorize(function (err, tokens) { 17 if (err) { 18 reject(err); 19 } else { 20 console.log("認証成功"); 21 resolve(jwtClient); 22 } 23 }); 24 }) 25 }) 26 .then(function(jwtClient){ 27 return new Promise(function(resolve,reject){ 28 const calendar = google.calendar('v3'); 29 calendar.calendarList.list({ 30 auth: jwtClient 31 }, function (err, response) { 32 if (err) { 33 reject(err); 34 }else{ 35 console.log('CalendarList:', response.data.items); 36 resolve(response.data.items); 37 } 38 }); 39 }); 40 }) 41 .then(function(result){ 42 callback(null, result); 43 }) 44 .catch(function(err){ 45 callback(err); 46 }); 47 48};
試したこと
Googleカレンダーに予定は入れています。
あなたの回答
tips
プレビュー