はてなブログの過去記事をGASでTwitterに自動投稿するようにしたよ
概要
記事数も200を超えてきたですが、昔の記事ってあまり読まれないのと(内容がうんぬんというのはありますが)、個人的にも過去記事をたまに見返すきかっけになるかな?と思い、過去記事をランダムで自動で投稿するようにしてみました。
うざいな〜と思ったらやめますw
自動投稿結果
☆過去記事の紹介(自動投稿です)☆
— ダイスケ@フリーランスのエンジニア (@moyashidaisuke) January 18, 2020
🕘2018/10/09
「2018 北海道東日本パスで東北弾丸3泊4日の旅〜最終日:鳴子温泉 - 東京〜」https://t.co/sJ8UIZH6rN#過去記事bot #はてなブログ
作り方
もう作ってくれた方がいらっしゃっいました。マジ感謝。
基本この通りなのですが、Twitterの仕様変更でこの通りいかないのを頑張ったのと、自分用にカスタマイズしましたメモです。
今から導入する方の参考にどうぞ。
技術要素をざっと解説
google app script(GAS)ではてなブログのRSSをスクレイピングして、TwitterにOAuthして投稿する仕組みです。
GASって外部ライブラリを読み込む事もできるんですね。普通に知らなかったです。
あと、トリガーで定期実行もできて便利。
ちょっとしたツールなら全然GASでいけますねぇ。
紹介記事通りいかなかったところ
TwitterのDeveloper登録
Twitterのアプリケーションを作成する時に、Developer登録というのをする必要があります。
こちらが詳しいです。
Twitter API 登録 (アカウント申請方法) から承認されるまでの手順まとめ ※2019年8月時点の情報 - Qiita
説明の英語はこう書きました。(拙い英語だけど、google翻訳では正しい日本語に翻訳されたので多分伝わるはず、、、
これがTOEIC700点の英語だ!
I will make a bot that posting my old blog entries. I manage my entries in google spreadsheet. GAS scirpt read data from spreadsheet, call twitter api from GAS script. GAS script call will be scheduled.
めんどくさいやり取りが始まるかと思いきや、一日であっさり通りました。
アプリ作成時の注意
name
世界の誰ともかぶっちゃだめです。私は「HatenaOldEntryBotMoyashidaisuke」としました。
Allow this application to be used to sign in with Twitte
よくわからないですが、チェックなしで動きました。
callback
URLは
https://script.google.com/macros/d/XXXXXXXX/usercallback
です。
編集画面のURLをコピーすると、
https://script.google.com/d/XXXXXXXXX
で微妙に違うので注意。(30分くらい悩んでしまった
カスタマイズ
私好みにしました。
- 日付は年月日まで
- 本文は適当に好みで
// 日時フォーマット変更 var published = Utilities.formatDate(new Date(publishedStr), 'Asia/Tokyo', 'yyyy/MM/dd'); var tweetStr = ""; tweetStr += "☆過去記事の紹介(自動投稿です)☆\n"; tweetStr += "\n"; tweetStr += "🕘" + published + "\n"; tweetStr += "「" + title + "」\n"; tweetStr += url + "\n"; tweetStr += "\n"; tweetStr += "#過去記事bot #はてなブログ \n";
まとめ
GASって業務では避けてましたが(メンテ性がしんどいので、、、)個人用ならめっちゃ便利ですね。大体なんでもできる。