秋葉原に住むIT技術者の単なる雑記帳

Bluesky、投稿のRSS配信開始

昨日、Blueskyユーザにとってなかなか衝撃的なニュースがありました。

 この記事では、表題の通り、まずは今後Blueskyに招待コードなしで参加可能になるということが述べられていますが、むしろ個人的には、そのあとに述べられているRSS配信の件について大喜びしてしまいました。


 既に、Blueskyでは、有志によってRSSフィードが非公式に提供されています。

 しかし、私の用途、具体的には、RSSをIFTTTで取得してその内容をWebhook経由でMastodonで共有する、という使い方は、このサービスでは出来ませんでした。

 HTMLのタグがフィードに混入してしまい、素の状態のMastodonではそれがそのまま見えてしまうためでした。

 今回、Blueskyが正式に提供開始したRSSフィードではそのようなことはありませんでした。

 Blueskyの投稿内容をRSS出取得する方法については、こちらの後半で述べられています。

 そこで取得したRSSの内容をIFTTTのWebhook経由でMastodonで展開する方法については、通常のRSSをMastodonに展開する方法と同じですが、いちおうその方法を掲載しておきます。

  1. BlueskyでRSSフィードのURL取得
    1. RSSフィードのURLを取得します。上記参考記事の後半を参照。
  2. Mastodonのアクセストークン取得
    1. まず、シェア対象とするMastodonのアカウントにログインします。
    2. 投稿欄付近のリンクから「プロフィールの編集」を開きます。
    3. 左側のメニューから「開発」を選択します。
    4. 「新規アプリ」ボタンを押下します。
    5. 下記の設定にして、「送信」ボタンを押下します。
      • アプリの名前
        • 任意の名前を設定(必須)。自分は「From RSS」としました。
      • アプリのウェブサイト
        • 設定は任意。自分は空欄にしました。
      • リダイレクトURI
        • urn:ietf:wg:oauth:2.0:oob
      • アクセス権
        • 今回は「write」にのみチェックが入っている状態にしました。
    6. 登録したアプリを開き、「アクセストークン」として表示されている43文字の英数字を控えておきます。「アクセストークン」はあとでIFTTTの設定をするときに必要になります。
  3. IFTTTによる共有設定
    1. IFTTT」のアカウントにログインします。
    2. 「My Applets」を選択し、一覧画面を表示します。
    3. 画面右上の「Create」を選択してアプレット作成を開始します。
    4. 「If This」の右の「Add」ボタンを押下します。
    5. 検索窓で「RSS」と入力します。抽出されたサービスの中から、「RSS Feed」を選択します。
    6. 「New feed item matches」を選択し、「New feed item matches」画面を開きます。
    7. 「Keyword or simple phrase」欄に、Mastodonに共有させたい投稿に必ず含めるハッシュタグを一つ設定します。
      • ここで設定したハッシュタグが含まれる投稿のみ、Mastodonに共有されるようになります。
      • 今回私は「#MastoShare」というハッシュタグを設定しました。
    8. 「Feed URL」欄に、最初に取得したBlueskyのRSSフィードのURLを設定します。
    9. 設定できたら、「Create Trigger」ボタンを押下します。
    10. 今度は「Then That」の右の「Add」ボタンを押下します。
    11. 検索窓で「Webhooks」と入力します。するとサービスが「Webhooks」一つに絞られるはずなので、それを選択します。
    12. 「Make a new request」を選択します。
    13. 「Make a web request」画面が表示されたら、下記のように設定して、「Create action」ボタンを押下します。
      • URL
        • https://mastodon.example.com/api/v1/statuses
          • もちろん「mastodon.example.com」の部分は実際にご自身がアカウントを持っているMastodonサーバのドメインに読み替えてください。
          • 今回私は自サーバ「one.telmina.com」に対して投稿をシェアしようとしていますので、「https://one.telmina.com/api/v1/statuses」と指定しました。
      • Method
        • POST
      • Content Type
        • application/x-www-form-urlencoded
      • Body
        • access_token=<先ほど取得したアクセストークン>&visibility=<希望の公開範囲>&status= {{EntryContent}} {{EntryUrl}} \#BlueSky
          • 希望の公開範囲は、「public」(公開)、「unlisted」(未収載)、「private」(フォロワー限定)のいずれか。ダイレクトはたぶん意味がない。
            • 今回自分は「public」(公開)に設定しました。しかし、サーバによっては利用規約によりbotアカウントによる「public」(公開)トゥートを禁止しているところもありますので、使用可能な公開範囲については事前にサーバ管理者に確認をとるべきです。
    14. 「Continue」ボタンを押下します。
    15. 「Finish」ボタンを押下します。
      • 「Receive notifications when this Applet runs」を有効にすべきかどうかは不明。自分は有効にしました。

 これで、無事、Blueskyの投稿がMastodonに反映されるようになりました。

Mastodonへの共有の確認に用いた、BLueskyの投稿

Blueskyの投稿をRSS、IFTTT経由でMastodonに展開した例

 これで、あちらでも雑談系の投稿をしやすくなりました。そもそも自分のフォロワー数はメインで使っているはずのMastodonよりもBlueskyの方がむしろ多いくらいですしね…。

 余談ですが、元投稿に添付した画像は、自作ゲーム第1弾の主人公(少年魔術師)をイメージしたものです。本当にどうでもいいことですが、添付画像もちゃんとシェアされるのか見てみたかったのです。

#2024年 #2024年1月 #2024年1月18日 #Bluesky #SNS #RSS #IFTTT #Mastodon #マストドン #Fediverse #分散型SNS