#やりたい事
GoogleスプレッドシートにTwitter情報を反映させたいです。スプレッドシートに書き込むことはできましたし、ツイート取得もできました。ですがツイートをスプレッドシートに流し込むにはどうするかわかりません。
#コード
const fs = require('fs'); const { google } = require('googleapis'); const Twitter = require('twitter'); const cron = require('cron').CronJob; const clients = new Twitter({ consumer_key: CONSUMER_KEY, consumer_secret: CONSUMER_SECRET, access_token_key: TOKEN_KEY, access_token_secret: TOKEN_SECRET }); const SCOPES = ['https://www.googleapis.com/auth/spreadsheets']; const TOKEN_PATH = 'token.json'; Promise.resolve().then(() => { return new Promise((resolve, reject) => { fs.readFile('credentials.json', (err, content) => { if (err) return console.log('Error loading client secret file:', err); resolve(JSON.parse(content)); }); }); }).then((credentials) => { return new Promise((resolve, reject) => { const { client_secret, client_id, redirect_uris } = credentials.installed; const oAuth2Client = new google.auth.OAuth2( client_id, client_secret, redirect_uris[0]); fs.readFile(TOKEN_PATH, (err, token) => { if (err) return getNewToken(oAuth2Client, callback); oAuth2Client.setCredentials(JSON.parse(token)); resolve(oAuth2Client); }); }); }).then(() => { return new Promise((resolve, reject) => { clients.get('statuses/home_timeline', {}, (error, tweets) => { if(error) console.error(error); console.log(tweets); resolve(tweets); }); }); }).then((auth) => { return new Promise((resolve, reject) => { const sheets = google.sheets({ version: 'v4', auth }); sheets.spreadsheets.values.append({ spreadsheetId: 'spreadsheetID', range: 'sheet1', valueInputOption: 'RAW', insertDataOption: 'INSERT_ROWS', resource: { values: [ [tweets] ], }, },(err, result) => { if (err) return console.log(err); console.log('cells updated'); resolve(result); }); }); });
#エラー
↑はツイート favorite_count: 11, favorited: false, retweeted: false, possibly_sensitive: false, possibly_sensitive_appealable: false, lang: 'ja' } ] (node:1673) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): ReferenceError: data is not defined
お願いします。
#やったこと
}).then((auth) => { return new Promise((resolve) => { clients.get('statuses/home_timeline',(err, tweets) => { if(err) console.error(err); console.log('tweets'); //resolve([auth,tweets]); resolve([auth],[tweets]); }); }); }).then((authandtweets) => { return new Promise((resolve) => { const sheets = google.sheets({ version: 'v4', auth : authandtweets[0], }); sheets.spreadsheets.values.append({ spreadsheetId: 'スプレッドシートID', range: 'sheet1', valueInputOption: 'RAW', insertDataOption: 'INSERT_ROWS', resource: { values: [ [authandtweets[1]] ], }, },(err, result) => { if (err) return console.log(err); console.log('cells append'); resolve(result); }); }); });
先には進んだと思うけど変なエラーが出ます。