【Bluesky】【Mastodon】Apple Watchのショートカットから定型文をマルチポスト可能にする方法
来週日曜日に、私は「Bluesky Advent Calendar 2024」15日目の記事を「Telmina.net」にて公開予定です。
その記事の執筆のために、過去に私がこのブログに残したBluesky関連の記事を見返しております。これについては、ハッシュタグ「 #Bluesky 」で確認可能です。
その中に、自分が「Apple Watch」とiOSショートカット機能を使ってBlueskyに定型文を投稿する方法について記した記事があります。
この記事を書いたのはもう半年以上も前の5月1日で、この時点ではまだMastodonに投稿する方法がわかっておらず、あくまでBlueskyに投稿する方法として公開しました。
その後、Mastodonに投稿する方法も判明し、自分のiOSショートカットの中ではその方法を取り込み、実際に定型文のBluesky並びにMastodonへのマルチポストを実現しております。
その方法について、ずっとブログに投稿したとばっかり思い込んでいたのですが、いくら探しても見つかりません。
というわけで、今更ではありますが、「【Bluesky】Apple Watchのショートカットから定型文を投稿可能にしてみた。」のMastodonマルチポスト対応版について、公開することとします。
Apple Watch からの定型文投稿をおこなうきっかけとなった情報
「【Bluesky】Apple Watchのショートカットから定型文を投稿可能にしてみた。」でも触れております通り、元々自分がApple Watchから定型文投稿をしようと思ったきっかけは、こちらの記事となります。
これを参考に、先述の定型文投稿用のショートカットを実装しました。
今回はさらにそこからの改造となります。
なお、ショートカットの編集はすべてWatchの母艦となるiPhoneにておこないます。今回私は、iPhone 16 Pro Maxを用いました。
改造した内容
事前準備
事前に次の内容を確認しておく必要があります。
なお、Mastodonのアクセストークンの取得方法については、ここでは詳しくは解説しません。下記の記事を参考にして、ご自身のアカウントに対して「write」のアクセス権を持つアプリの設定をおこない、設定後に取得可能な英数字43桁の「アクセストークン」を控えておいてください。
定型文をリストから選択して変数に設定する
元の記事では、都度投稿文を入力してそれを変数に格納していますが、「Apple Watch」上で定型文を選べるようにするために、ここを改造します。
まずはリストを用意します。多用する割に入力がクソ面倒くさい定型文をリストの中にひたすら設定します。
「【Bluesky】Apple Watchのショートカットから定型文を投稿可能にしてみた。」の時は、この時点で選択された項目と追加テキストを連結して変数に格納しておりましたが、今回はまだそのようにはせず、選択した項目をそのまま取得し、次の分岐の条件として使います。
条件分岐
分岐の条件は、取得した選択項目の内容に応じて、次の通りとします。
- (投稿しない)
- (フリーテキスト)
- (クリップボードから)
- 上記以外(通常の定型文)
「(投稿しない)」の場合は、「終了します。」のアラートを出力し、そのままショートカットを停止させます。
「(フリーテキスト)」の場合は、テキスト入力用のダイアログを出現させます。
一応、Apple Watchからも文字入力は可能であるようなのですが、自分の視力とお世辞にも繊細とは言えない指裁きでは、Watchの小さい画面で文字入力など不可能です。これはあくまでiPhoneからショートカットを呼び出したときのために用意したものです。
「(クリップボードから)」の場合は、クリップボードに保存されている内容を投稿文として呼び出します。これも、iPhoneから呼び出されたときのために用意したものです。
「(投稿しない)」でも「(フリーテキスト)」でも「(クリップボードから)」でもなく、通常の定型文が選択された場合は、その内容を投稿本文の変数に格納します。
なお、「【Bluesky】Apple Watchのショートカットから定型文を投稿可能にしてみた。」執筆時点ではまだMastodonに直接投稿する方法がわからなかったため、先述の疑似マルチポストの方法で仕込んだおまじないのハッシュタグを連結しておりましたが、今回は実際のマルチポストをおこなうため、おまじないのハッシュタグは不要となりました。
投稿本文があれば処理続行。まずはBlueskyへの投稿から
「(フリーテキスト)」、「(クリップボードから)」もしくは通常の定型文を選択した場合、投稿本文用の変数に内容がセットされているか否かを確認します。
セットされていなければ、ここでショートカットを停止します。
セットされていれば、処理を続行します。
ここからは、いよいよBlueskyへの投稿をおこなう部分です。
ここから先、しばらくの間は、ほぼ元の記事と同じです。
ただ、
https://bsky.social/xrpc/com.atproto.server.createSession
で投稿に必要な情報を取得するときに、リクエストデータ内の次の項目には自分の情報を設定する必要があります。
identifier
: 自分自身のBlueskyアカウント
- 私の場合は自サイトのドメインを設定しているために「
telmina.com
」となっているが、多くの人は恐らく「*******.bsky.social
」となっていると思われる。
- 私の場合は自サイトのドメインを設定しているために「
password
: 事前に取得したアプリパスワード
Blueskyへの投稿をおこなう部分の後半については、元の記事の内容に改変を加えていません。処理の詳細については、元の記事をご一読願います。
続いてMastodonにも投稿
当初「Mastodonへの投稿方法がわかりません」などと言っていたのがまるでウソであるかのごとく、Mastodonへの投稿に必要な設定内容はシンプルでした。
なお、次の項目には自分の情報を設定する必要があります。
https://mastodon.example.com/api/v1/statuses
の内容を取得: ご自身のアカウントの所属サーバのAPI URLを指定する。
- 「
https://mastodon.example.com/
」の部分を、ご自身のアカウントの所属サーバのURLに置き換えること。 - 私の場合はマイお一人様サーバのAPI URL「
https://one.telmina.net/api/v1/statuses
」を設定している。
- 「
- 方法:
POST
(固定) - ヘッダ: 今回は特に何も指定しない。
- 本文を要求: フォーム
access_token
: 事前準備の時に取得したアクセストークンstatus
: 投稿本文の変数visibility
:public
(公開) orunlisted
(控えめな公開;かつて「未収載」と呼ばれていた公開範囲) orprivate
(フォロワーのみ)
Apple Watch への反映を忘れずに
最後に、「Apple Watch に表示」を選べば、「Apple Watch」から定型文を選択してBlueskyに投稿することが出来るようになっているはずです。
ショートカット編集画面下部の中央にある「ⓘ」を選択すると、ショートカットの詳細設定画面が開きます。そこで、「Apple Watchに表示」を有効化すれば、晴れてWatchからショートカットを呼び出して、定型文のBluesky並びにMastodonへのマルチポストをおこなうことが可能になります。
心残り
なんでこんな重要な情報を投稿するのを忘れていたんだろう(ぉぃ)。
#2024年 #2024年12月 #2024年12月8日 #SNS #Bluesky #Apple #AppleWatch #iPhone #iOS #Mastodon #マストドン #SNS #分散型SNS #Fediverse #TelminaNet #AdventCalendar