ブログの更新をマストドンに自動投稿する方法。
アホな話なのであるが、マストドンへ移行をしたことでまたしてもSNS依存症を再発させてるのである。僕がtwitterやマストドンのようなミニブログが嫌いな理由は、依存しすぎて時間を無駄にしてしまうためである。こういうSNSで時間を無駄にするよりは適当に書籍などを読んでそちらから情報を得た方が気分も穏やかであるし、情報の質も担保されている。
まぁ、それはそれとして今は気分がいいからまあいいや。僕の勘であるけどtwitterはほんとどんどんヤバい状況に陥っていくと思う。どうもイーロンマスクはトランプ元大統領と同じ匂いがする。おもっくそ独断専行でおかしな仕組みとかを追加していって、僕のような弱小ユーザは生き残れないような仕組みをどんどん作ってくんじゃないかと思う。僕は別にtwitterは辞めはしないけど、他のSNSも並行で使いつつ、ネット空間での過ごし方を工夫しながら色々と考えようと思う。ひとまずマストドンでフラフラしてるけど、他にもいろんなSNSを試しつつ、気軽に駐留できる場所を探そうかと考えている。
今日はちょっと技術ネタでも一つ提供するよ。僕は最近、マストドンの方に駐留しているのだけど、はてなブログで書いた記事をトゥートしたいのだけど、はてなブログの方にはtwitterへの同時投稿の機能しか付いてない。こりゃはてな運営にもなんとかしてもらいたい所である。まぁ、ないものねだりをしても仕方ないので、IFTTTを使ってブログが更新されたらマストドンにも通知を投稿するように設定した。
IFTTTはいろんなwebサービスを組み合わせて作業の自動化などをするためのサービスであるけど、こちらの中にマストドンを操作する機能というのはない。だけど、webhookを使えばAPI経由で投稿することができるので、マストドンの方にアプリを作成してそちらから投稿したらうまくいく感じ。サクサクっとやり方をメモしときます。
マストドンに投稿するためのアプリを作成する。
こちらは各種インスタンスで変わってくるけど、とりあえず僕の所属してるfedibird.comの方を例にして書いておきます。
- [設定] > [開発] を開く。
- [新規アプリ]のボタンを押して新しくアプリを作る。
- [アプリの名前]を「IFTTT」にする。
- [アプリのウェブサイト]を「https://ifttt.com」にする。
- デフォルトでついてるアクセス権を全部外して、「write:statuses」のみを有効にする。
- 設定を保存する。
- これでできたアプリを開いて、画面上部にあるアクセストークンをどこかにコピペしておく。
これにてマストドンの方の準備はOKです。次はIFTTTの方を設定していきます。
IFTTTでRSSをトリガーにして記事更新を投稿するアプレットを作成する。
まずはIFTTTの方にアカウントを作りましょう。この記事では最初から使えるアカウントはある前提で話をします。ちなみに、IFTTTは規定の個数以上のアプレットを動かす場合は有料ですけど、Gmailのエイリアスを使って複数のアカウントを作るなどの抜け道はいくつかあります。
- [Create]をクリックして新しいアプレットを作成する。
- [IF THIS]をクリックして「RSS Feed」を探して選択する。
- 「New feed item」を選択する。
- マストドンに投稿したいブログのRSSフィードを記入して保存。例えばこのブログの場合は「https://www.ituki-yu2.net/rss」を入力します。各種ブログサービスでRSSフィードのパラメータが違うのでそちらは探してみてください。
- 保存する。
- 「Then」を開く。次は「webhooks」を選択。
- 「Make a web request」を選択。
- URLには「https://マストドンのドメイン/api/v1/statuses」を入力する
- Methodは「POST」を選択する
- Content Typeには「application/x-www-form-URLencoded」を選択する。
- Additional Headersには次のように入力します。「Authorization: Bearer (さっき上記のマストドンの方のアプリで保存したアクセストークン)」
- Bodyには次のように入力します。「status=本日のブログ更新 #はてなブログ {{EntryTitle}} {{EntryUrl}}」
- アプレットを保存します。
まとめ
これにてブログが更新されたら自動的にマストドンに投稿されるはずです。IFTTTのBodyの方には投稿したい文言を自由に加えることができます。マストドンは基本的にAPIを叩けば投稿とかは簡単にできそうなので、GASとかを使えば過去記事投稿などのシステムも簡単に作れるんじゃないかな?と予測してます。ちょっと休みにでも色々とbot作ってみたりとか弄ってみたいところ。