2017/03/01投稿ではてなブログから移行した内容です.
Google Calendar APIのサンプルでは
.credentials/calendar-nodejs-quickstart.json
{
"access_token": "アクセストークン",
"refresh_token": "アクセストークンを更新するためのトークン",
"token_type": "Bearer",
"expiry_date": アクセストークンが使えなくなる期限,
}
を作成し、このファイルを更新せずに認証に使っている。
この認証は1時間で使えないようになってしまう。
ニコ生で生放送中に優秀なエンジニアさんが来てくださり、その方に助けてもらいながら解決することができました。
本当にありがとうございました!
GoogleカレンダーAPIとSlack APIを使ったプログラミング
解決策としては、refreshAccessToken() メソッドを利用する。
Refresh token of google api do not work properly in nodejs
authorize()メソッドの中を修正する。
fs.readFile(TOKEN_PATH, function(err, token) {
if (err) {
getNewToken(oauth2Client, callback);
} else {
oauth2Client.credentials = JSON.parse(token);
oauth2Client.refreshAccessToken(function(err, tokens) {
if (err) {
console.log(err);
return;
}
oauth2Client.credentials = tokens;
storeToken(tokens);
});
callback(oauth2Client);
}
});
これで解決!のはず...
Twitterフォロー待ってます!