はてなブックマークしたページをFediverseにシェアする

koogawa.hateblo.jp

これのFediverse版を作った.

https://koogawa.sakura.ne.jp/hb/rss.php?id=h3poteto

こちらで公開されていたRSSが非常に有用だったのでそのまま使わせてもらっています.おそらく個人運用のサービスなので,提供先のRSSが終了したらこの方法は使えなくなります.

IFTTTでRSSをトリガーにしてWeb Requestを作る

まず上記のRSSをトリガーにする.ユーザIDは自分のはてなIDに置き換える.

あとはWeb Requestを,好きなMastodonなりPleromaのAPI向けに作るだけ.

で,Bodyに関しては

access_token=(your_access_token)&status={{EntryContent}} / {{EntryTitle}} {{EntryUrl}}&visibility=public

みたいな形にする.

ただし,access_tokenをBodyで受け付けていないサービスではこれはできない.基本的にMastodon互換APIを持つサービスならこれで問題なくできるはず.

試していないけど,おそらくMisskeyもaccess_tokenをBodyで受け付けていて(というかHeaderで受け付けてない)

/api/notes/create に対して

i=(your_access_token)&text={{EntryContent}} / {{EntryTitle}} {{EntryUrl}}

とかやれば投稿できるんじゃないかな.

参考:

misskey-hub.net

RSSについて余談

https://b.hatena.ne.jp/h3poteto/bookmark.rss

でも似たような情報が取れて,こちらははてな公式のRSSなのだが,いかんせん EntryContent がうまく行かない.見てみればわかるが,contentがhtmlのため,ブックマークコメントをplain textで取り出すためにはこれをパースしてやらないといけない.

https://koogawa.sakura.ne.jp/hb/rss.php?id=h3poteto

の方では,contentをplain textとして提供してくれているので, EntryContent としてそのまま使うことができている.

はてな公式のRSSを使う場合は,ブックマークコメントを諦めて

access_token=(your_access_token)&status={{EntryTitle}} {{EntryUrl}}&visibility=public

というようなBodyにすれば,とりあえず連携はできる.

以前までのやり方

これをやる以前は,はてブ -> Twitter連携を有効化しておいた上で,IFTTTでh3_potetoTwitter投稿をすべてFediverseに連携させていた.つまりTwitterは単なるはてブ -> Fediverse間のキューでしかなかったんだけど,今回ついにエンキューできなくなったので直接投稿するようにしてみた.

Twitter,いよいよキューとしての役割すらなくなった.