Twitter での「いいね」(fav)を自動で「はてなブログ」に投稿する heroku app です。
以下のもの・準備が必要です。
- はてなアカウント
- 投稿先となるはてなブログ
- はてなのアプリケーション登録
- Twitter アカウント
- Twitter app の登録
- heroku のアカウント
- Ruby が実行可能な PC
- Mac なら最初から入っているもので大丈夫(多分)
はてなブログ API 用の gem を書いた - blog.kymmt.com に書いて頂いている手順で認証情報を取得します。(Ruby が必要です。)
$ gem install hatenablog
$ get_access_token <コンシューマキー> <コンシューマシークレット>
Visit this website and get the PIN: https://www.hatena.com/oauth/authorize?oauth_token=XXXXXXXXXXXXXXXXXXXX
Enter the PIN: <ここに PIN を入力する> [Enter]
Access token: <アクセストークン>
Access token secret: <アクセストークンシークレット>
favs2blogposts の動作には以下の4つの情報が必要です。
- コンシューマーキー
- コンシューマーシークレット
- アクセストークン
- アクセストークンシークレット
↑のボタンを押すと、以下の様なデプロイ設定画面が開きます。
開いた画面で、以下の情報を入力してください。
- App Name
ここで指定した文字列.herokuapp.com
というドメイン名になります。- 指定しない場合、ランダムな文字列が割り当てられます。
- Runtime Selection
- 通常は初期設定(
United States
)のままで問題ないはずです。
- 通常は初期設定(
- Config Variables
- TWITTER_CONSUMER_KEY
- 登録した Twitter app の管理画面から取得できる consumer key を入力します
- TWITTER_CONSUMER_SECRET
- 登録した Twitter app の管理画面から取得できる consumer secret を入力します
- TWITTER_ACCESS_TOKEN
- 登録した Twitter app の管理画面から取得できる access token を入力します
- TWITTER_ACCESS_TOKEN_SECRET
- 登録した Twitter app の管理画面から取得できる access token secret を入力します
- HATENA_CONSUMER_KEY
- 登録した はてなアプリケーション の管理画面から取得できる consumer key を入力します
- HATENA_CONSUMER_SECRET
- 登録した はてなアプリケーション の管理画面から取得できる consumer secret を入力します
- HATENA_ACCESS_TOKEN
- 登録した はてなアプリケーション の管理画面から取得できる access token を入力します
- HATENA_ACCESS_TOKEN_SECRET
- 登録した はてなアプリケーション の管理画面から取得できる access token secret を入力します
- HATENA_USER_ID
- はてなブログへ投稿するユーザーのはてなIDを入力します。(id:xxxxx の xxxxx の部分)
- HATENA_BLOG_ID
- 登録するはてなブログの初期ドメインを入力します。
example.hatenablog.com
などです。 - カスタムドメインを設定している場合でも、初期ドメインを入力してください。
- 登録するはてなブログの初期ドメインを入力します。
- USER_SCREEN_NAME
- 取得対象の Twitter ID を入力します。(
@a-know
のa-know
の部分)
- 取得対象の Twitter ID を入力します。(
- BLOG_TIMEZONE
- タイムゾーンを指定します。
- 通常は初期値(
Asia/Tokyo
)のままで問題ないはずです。 - このタイムゾーンを基準として投稿タイトル(
yy-mm-dd の favs
)が決められます。
- TWITTER_CONSUMER_KEY
これらの情報の入力が完了したら、 Deploy for Free
ボタンを押し、しばらくすると以下の様な表示が出て、デプロイが完了します。
毎日決められた時間に favs の収集・ブログへの投稿を行うよう、スケジュール設定を行う必要があります。
heroku app の管理画面 https://dashboard.heroku.com/apps/{3. で指定した App Name}
を開き、 Heroku Scheduler
リンクを押します。
するとスケジュール設定画面になりますので、以下の画像を参考に設定をし保存してください。
注意事項としては、実行時間の指定は UTC での指定になる点です。
おすすめの指定は 15:30
です。これは日本時間でいうと 0:30 になり、そのタイミングで前日の favs を収集し投稿することになります。
- 収集・投稿できるものは「その日favしたツイート」ではなく、「前回はてなブログに自動投稿されてから今回の自動実行の間までにつぶやかれたツイートのうち、favされたもの」となります。
- 例えば、昔のツイートをその日にfavしても収集・投稿されません。
- 実行するたびに、「ここまでのツイートをブログに登録した」という情報をアプリケーションが記録しています。
- 初回はデプロイしたタイミングで記録されますので、最初の投稿はそのタイミング以降のfavが投稿されることになります。
- (適当な作りなので、)1回で100を超えるfavは登録できません。
- 先頭100件を登録します