2019-10-07に更新

GASでいいねしたツイートをいいねの数とリツイートの数と一緒に記録するやつ

特定のユーザーのいいねしたツイート一覧を、ツイートに付いたいいねの数とリツイートの数も一緒に記録したくなって作りました。トリガー機能を使うと、定期的にいいねが記録されるようになります。

GASで自分のツイートを取得してスプレッドシートに記録するやつ

この記事も合わせて読むとわかりやすいかもしれません。

スクリーンショット 2019-10-07 3.40.44.png

このように記録されます。



function getFav(){ var service = twitter.getService(); var json = service.fetch("https://api.twitter.com/1.1/favorites/list.json?screen_name=いいねを取得したいアカウントのscreen name&count=100"); var array = JSON.parse(json); var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName('いいねを記録したいシートの名前'); var lastRow = sheet.getLastRow() +1; var lastId = sheet.getRange("F2").getValue(); for(var i = 0; i <= array.length -1; i++) { var int = parseInt(i); if(i === 0){ var recId = array[int]["id"]; sheet.getRange("G2").setValue(recId); } var id = array[int]["id"]; if(id > lastId){ var time = array[int]["created_at"]; var userId = array[int]["user"]["id_str"]; var json = service.fetch("https://api.twitter.com/1.1/users/show.json?user_id="+userId+"&include_entities=false"); var array2 = JSON.parse(json); var screenName = array2["screen_name"]; var text = array[int]["text"]; var favorite_count = array[int]["favorite_count"]; var retweet_count = array[int]["retweet_count"]; sheet.getRange(lastRow,1).setValue(time); sheet.getRange(lastRow,2).setValue(screenName); sheet.getRange(lastRow,3).setValue(text); sheet.getRange(lastRow,4).setValue(favorite_count); sheet.getRange(lastRow,5).setValue(retweet_count); sheet.getRange(lastRow,6).setValue(id); } lastRow = lastRow + 1; }

いいねを100件取得して、idが以前記録したツイートより大きければ記録する…といった感じです。
何かあったら気軽にコメントください。

Originally published at qiita.com

yanagiha

Twitter→@yanagihatei

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

関連記事

コメント