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

【「げむ鯖 Advent Calendar 2022」特別寄稿】Nintendo Switchから直接的にMastodonにアルバム画像をシェアする方法(Twitter、IFTTT経由)(2022年修正版)

本記事は、「げむ鯖 Advent Calendar 2022」2日目の記事です。


 本記事は、2021年6月23日(水)に執筆致しました「Nintendo Switchから直接的にMastodonにアルバム画像をシェアする方法(Twitter、IFTTT経由)」を、現状に合わせて修正、補足したものです。

 元記事も合わせてお読みいただければと思います。


 私も参加している、ゲーム好きの集まるMastodonコミュニティ「gamingjp.org」におきまして、過去に、Nintendo Switchから直接Mastodonにトゥート出来るようにしたいという話が出ておりました

 もちろんNintendo Switchから直接Mastodonに投稿する仕組みは、2022年12月時点においても提供されていません。

 そこで、いったん「Twitter」に特定のハッシュタグを含めてツイートし、「IFTTT」というサービスを用いてそれをMastodonにシェアするという形をとることにします。

 この方法をとる場合、当然ながら、シェア対象とするMastodonのサーバ、「Twitter」「IFTTT」の3カ所にアカウントを保有している必要があります。また、「IFTTT」につきましては、(無料の範囲でも一応可能ですが)有料サービスのご利用をお勧めします。

 以後、それを前提に話を進めます。


設定方法

 今回は、こちらの記事を参考に設定をおこないました。

 こちらはハッシュタグ無関係に、ご自身のアカウントによるツイートのすべてをシェアする方法について述べられていますが、これからやろうとしていることも基本的には同様です。

Mastodonのアクセストークン取得

  1. まず、シェア対象とするMastodonのアカウントにログインします。
  2. 投稿欄付近のリンクから「プロフィールの編集」を開きます。
  3. 左側のメニューから「開発」を選択します。
  4. 「新規アプリ」ボタンを押下します。
  5. 下記の設定にして、「送信」ボタンを押下します。
    • アプリの名前
      • 任意の名前を設定(必須)。自分は参考記事に倣い「From Twitter」としました。
    • アプリのウェブサイト
      • 設定は任意。自分は空欄にしました。
    • リダイレクトURI
      • urn:ietf:wg:oauth:2.0:oob
    • アクセス権
      • 今回は「write」にのみチェックが入っている状態にしました。
  6. 登録したアプリを開き、「アクセストークン」として表示されている43文字の英数字を控えておきます。「アクセストークン」はあとでIFTTTの設定をするときに必要になります。

IFTTTによる共有設定

  1. IFTTT」のアカウントにログインします。
  2. 「My Applets」を選択し、一覧画面を表示します。
  3. 画面右上の「Create」を選択してアプレット作成を開始します。
  4. 「If This」の右の「Add」ボタンを押下します。
  5. 検索窓で「Twitter」と入力します。するとサービスが「Twitter」一つに絞られるはずなので、それを選択します。
  6. 「New tweet by you with hashtag」を選択します。
  7. 「New tweet by you with hashtag」画面が表示されたら、次の設定をおこないます。
    • 「Twitter account」欄に、ツイート共有元となるご自身のアカウントを指定します。
    • 「Hashtag」欄に、Mastodonに共有させたいツイートに必ず含めるハッシュタグを一つ設定します。
      • ここで設定したハッシュタグが含まれるツイートのみ、Mastodonに共有されるようになります。
      • Nintendo Switchからの投稿を無条件に共有させる場合は、「#NintendoSwitch」というハッシュタグを設定します。
  8. 設定できたら、今度は「Then That」の右の「Add」ボタンを押下します。
  9. 検索窓で「Webhooks」と入力します。するとサービスが「Webhooks」一つに絞られるはずなので、それを選択します。
  10. 「Make a web request」を選択します。
  11. 「Make a web request」画面が表示されたら、下記のように設定して、「Create action」ボタンを押下します。
    • URL
      • https://mastodon.example.com/api/v1/statuses
        • もちろん「mastodon.example.com」の部分は実際にご自身がアカウントを持っているMastodonサーバのドメインに読み替えてください。
        • 今回私は「gamingjp.org」に対してツイートをシェアしようとしていますので、「https://gamingjp.org/api/v1/statuses」と指定しました。
    • Method
      • POST
    • Content Type
      • application/x-www-form-urlencoded
    • Body
      • access_token=<先ほど取得したアクセストークン>&status= {{Text}}&visibility=<希望の公開範囲>
        • 希望の公開範囲は、「public」(公開)、「unlisted」(未収載)、「private」(フォロワー限定)のいずれか。ダイレクトはたぶん意味がない。
          • 今回自分は「public」(公開)に設定しました。しかし、サーバによっては利用規約によりbotアカウントによる「public」(公開)トゥートを禁止しているところもありますので、使用可能な公開範囲については事前にサーバ管理者に確認をとるべきです。
  12. 「Continue」ボタンを押下します。
  13. 「Finish」ボタンを押下します。
    • 「Receive notifications when this Applet runs」を有効にすべきかどうかは不明。自分は有効にしました。

 これで、晴れて、Nintendo Switch等のTwitter投稿機能のある端末からのツイートをMastodonにシェアできるようになっているはずです。

 実際に、先ほど指定したハッシュタグを含めてツイートをおこないますと、しばらくしてから、Mastodon(今回の場合はgamingjp.org)に反映されるはずです。

 ただ、残念ながらツイートに添付されている画像はそのまま画像としては添付されず、代わりに元のツイートへのリンクが設定されます。添付画像が1枚のみの時はそれでもいいのですが、複数あるときは元ツイートを見ないと確認できません。

 まあそれでも、Nintendo Switchのアルバムに保存されている画像をスマホに転送したり、Switch本体をパソコンに繋いでそこからメディアを吸い上げたり、あるいは画像を保存したmicroSDカードをパソコンに接続したカードリーダーに挿入したりといった手間を考えると、だいぶ楽になることに代わりはありません。

Nintendo Switch以外でも同様のことはできるのか?

 もちろん可能です。

 今回はたまたまNintendo SwitchからTwitterに対しておこなった投稿をMastodonにシェアする方法について説明しましたが、ハッシュタグを変更すればNintendo Switch以外の端末からの投稿もシェアできます。例えば、「#PS5Share」を対象とすれば、PlayStation 5からの投稿の共有も可能となります。

 あるいは、特定のゲームに関するツイートのみをシェアしたい場合は、ゲーム機が付加するゲームタイトルなどのハッシュタグを指定すればよいでしょう。例えば「#モンハンライズ」など。

 また、ゲーム機などが必ず付加するハッシュタグのみならず、任意のハッシュタグを共有する設定にすれば、特定のカテゴリの話題のツイートのみをMastodonにシェアすることもできます。例えば「#政治」というハッシュタグを共有する設定にすれば、ハッシュタグ「#政治」を含めたツイートがMastodonに共有されるようになります。

個人的な願望

 個人的な願望としては、Nintendo SwitchなりPlayStation 5なりといったゲーム機(に限らずSNS共有機能を持つあらゆる端末)がActivityPub(Mastodon等の分散型SNSで採用されている共通プロトコル)に対応してくれて、Mastodonにネイティヴで投稿することができるようになってくれれば、それがベストなのですが。

 特に10月下旬以降のTwitterの情勢を考えると、ゲーム画像等のシェアのためにわざわざTwitterを使うのも憚られますし。

#2022年 #2022年12月 #2022年12月2日 #NintendoSwitch #ゲーム #Twitter #IFTTT #Mastodon #マストドン #SNS #分散型SNS #Fediverse #AdventCalendar

Nintendo SwitchからツイートしてそれをさらにMastodonにシェアするテスト投稿