tag:crieit.net,2005:https://crieit.net/users/yanagiha/feed yanagihaの投稿 - Crieit Crieitでユーザーyanagihaによる最近の投稿 2019-12-05T17:59:15+09:00 https://crieit.net/users/yanagiha/feed tag:crieit.net,2005:PublicArticle/15583 2019-12-05T17:33:50+09:00 2019-12-05T17:59:15+09:00 https://crieit.net/posts/08925126ad43b99775708a6a11915d9a 各種リンク <p>-各種Link-<br /> <a target="_blank" rel="nofollow noopener" href="http://yanagihatei.hatenablog.com/">絵ブログ</a><br /> <a target="_blank" rel="nofollow noopener" href="https://note.mu/yanagihatei">漫画とかイラストとかのnote</a><br /> <a target="_blank" rel="nofollow noopener" href="https://www.pixiv.net/member.php?id=5153940">pixiv</a><br /> <a target="_blank" rel="nofollow noopener" href="https://willow-leaf.hatenadiary.jp/">読書・短歌・ゲーム雑記ブログ</a><br /> <a target="_blank" rel="nofollow noopener" href="https://odaibako.net/u/yanagihatei">お題箱</a><br /> <a target="_blank" rel="nofollow noopener" href="https://bookmeter.com/users/70638">読書メーター</a><br /> <a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/registry/wishlist/2T063Y6YQ4M3P/ref=cm_sw_r_tw">ほしいものリスト</a></p> <p>-Twitter-<br /> メイン→@yanagihatei<br /> アルフヒルドちゃん→@alfhild_chan<br /> 発言模倣?bot→@yngh_bot</p> yanagiha tag:crieit.net,2005:PublicArticle/15457 2019-10-07T09:13:01+09:00 2019-10-07T09:31:08+09:00 https://crieit.net/posts/GAS-5d9a830d875a5 GASでいいねしたツイートをいいねの数とリツイートの数と一緒に記録するやつ <p>特定のユーザーのいいねしたツイート一覧を、ツイートに付いたいいねの数とリツイートの数も一緒に記録したくなって作りました。トリガー機能を使うと、定期的にいいねが記録されるようになります。</p> <p><a target="_blank" rel="nofollow noopener" href="https://qiita.com/yanagiha/items/40c7f0cc140eace11bd8">GASで自分のツイートを取得してスプレッドシートに記録するやつ<br /> </a><br /> この記事も合わせて読むとわかりやすいかもしれません。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406061/d311791c-7655-7d87-1dba-cb3ee543444d.png" alt="スクリーンショット 2019-10-07 3.40.44.png" /></p> <p>このように記録されます。</p> <pre><code class="javascript"><br /><br />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; } </code></pre> <p>いいねを100件取得して、idが以前記録したツイートより大きければ記録する…といった感じです。<br /> 何かあったら気軽にコメントください。</p> yanagiha tag:crieit.net,2005:PublicArticle/15456 2019-10-07T09:10:43+09:00 2019-10-07T09:10:43+09:00 https://crieit.net/posts/GAS GASで自分のツイートを取得してスプレッドシートに記録するやつ <p>急にツイ消ししたくなった場合に備えて、自分のツイートをグーグルスプレッドシートに記録しておくことにしました。</p> <p><a target="_blank" rel="nofollow noopener" href="https://qiita.com/golyat/items/6b430986dbfd8dd1c239">GASでTwitterの投稿とタイムライン取得</a><br /> こちらの記事を参考にして書いてみました。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406061/43b4b722-3b85-bb5e-be81-133be3f4d987.jpeg" alt="20190828150010.jpg" /><br /> 画像のように記録されます。</p> <pre><code class="javaScript"><br /> var twitter = TwitterWebService.getInstance( '**********', // 作成したアプリケーションのConsumer Key '**********' // 作成したアプリケーションのConsumer Secret ); // 認証を行う(必須) function authorize() { twitter.authorize(); } // 認証をリセット function reset() { twitter.reset(); } // 認証後のコールバック(必須) function authCallback(request) { return twitter.authCallback(request); } function getMyTweets() { var service = twitter.getService(); var json = service.fetch("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=ツイートを取得したいユーザーのid&count=30"); var array = JSON.parse(json); var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName('ツイートを保存したいシートの名前'); var lastRow = sheet.getLastRow() +1; var lastId = sheet.getRange("D2").getValue(); for(var i = 0; i <= array.length -1; i++) { var int = parseInt(i); if(i === 0){ var recId = array[int]["id"]; sheet.getRange("D2").setValue(recId); } var id = array[int]["id"]; if(id > lastId){ var time = array[int]["created_at"]; var text = array[int]["text"]; sheet.getRange(lastRow,1).setValue(time); sheet.getRange(lastRow,2).setValue(text); sheet.getRange(lastRow,3).setValue(id); } lastRow = lastRow + 1; } } </code></pre> <p>自分のツイートを最新のやつから30件まで取得して、idが以前取得したツイートより大きければスプレッドシートに書き込む……という感じです。</p> <p>ここ違うよ〜とかもっと良い書き方あるよ〜って場合は気軽にコメントください。</p> yanagiha