2TBの雑文置き場

ブログというより説明書置き場というか

iOS12のSiriショートカットを使い、Mastodonに投稿する

はじめに

本日9/18(日本時間)に、iPhone/iPad向けの最新OS「iOS 12」が公開・配信されました。今回からSiriを「ショートカット」アプリと併用することで、ユーザー自身でもかなり自由にいろんなことをさせられるようになりますが、今回はその一端として、MastodonというSNSシステムに投稿することを試してみましょう。

Siriと「ショートカット」

Siriは、ご存知の通りAppleの擁する(音声)アシスタントシステムです。近年のデバイスなら、「Hey Siri」というウェイクキーワードを用い、デバイスに一切触れずに様々なコマンドを実行させることすら可能です(※ロック解除が必要な操作を除く)。

「ショートカット」はiOS12に合わせて新規公開されたアプリ…では実はなく、以前は「Workflow」という名前で公開されていたアプリの最新版です。元は他社の有料アプリでしたが、以前Appleによって買収され、無料公開されていました。これ単体でも、iOSバイス上の多くの操作を半・全自動化出来ます。

iOS12では、この「ショートカット」の一連のコマンドをSiriから直接呼び出せるようになったため、様々な動作を手軽に、かつデバイスの操作なしに実行できるようになりました。

Mastodonとは

ポストTwitter、なんて呼ぶ人もいる、サーバー分散型のSNSシステムです。「"Mastodon"という名前のサービス」があるわけではなく、そのシステムを使い誰でも自由にインスタンス(サーバー)を作ることが出来、さらに別のサーバーのユーザー同士でもやり取りを行うことが出来るところに大きな特徴があります。

SiriからTwitterに投稿することは標準機能でも可能ですが、Mastodonに投稿する仕組みは標準では用意されていないため、それを何とかするのがこの記事の趣旨です。

事前準備:アクセストークンの取得

まず、Mastodonに投稿するために必要なアクセストークンを取得します。Web上の設定画面から、「 開発」を押します。

f:id:twoterabytes:20180918234642p:plain
「開発」を押したときの設定画面

画像に従い、少なくとも「アプリの名前を設定」し、「write:statusesのみにチェックを入れ(他は外す)」、「送信」します。

すると今作ったばかりのアプリ名が登録されるので、アプリ名のリンクを押します。

f:id:twoterabytes:20180918234646p:plain
リンクを押した後の画面 アクセストークンなどが表示されている

画像の位置に表示されているはずの、アクセストークンをメモするなりコピーしておくなりします。

警告:このトークンは、事実上(投稿、という機能に関して)IDとパスワードの代わりになるものです。盗まれないよう厳重に管理してください

iOSバイスの準備と試験実行

まず、「ショートカット」アプリをダウンロードします。デベロッパーがAppleになっていることの確認をお忘れなく。

起動してチュートリアルが終わったら、新規追加をし、次のようなコマンドのセットを作ります。

f:id:twoterabytes:20180918234650p:plain
コマンドの並べ方

一番上の音声認識コマンドに関しては、あらかじめSiriでの使用許可とマイクの使用許可をしておいてください。

各コマンドは、検索欄にコマンド名を入力すれば見つけられますので、ドラッグアンドドロップで画像と同じ順番に並べてください。

各項目が画像と同様に入力できたら、完了を押して保存します。

保存できたら、新しく出来たアイコンをダブルタップする(または、先程の画面で完了前に再生ボタンを押す)と実行できます。音声認識画面が出て、喋った内容が自動的に投稿されれば成功です。

Siriへ登録

もう一度コマンドの編集画面を出し((…)を押す)、右上のタクトスイッチのアイコンを押すと、以下のような画面が出ます。

f:id:twoterabytes:20180918234654p:plain
Siriに追加

「Siriに追加」を押し、起動したいキーワード(例えば、「マストドンに投稿」)を喋って設定します。

これで準備は完了です。

Siriから実行

このコマンドはロックされていると最後まで作動しないので、iOSバイスは手元においておきます。

「Hei Siri、マストドンに投稿(または、先程登録したキーワード)」と話しかけてみてください。試験実行時と同じように動作すればOKです。

応用例

f:id:twoterabytes:20180918234658p:plain
「墓」という文字は気にしないでください

定形の文章を投稿する例です。この場合はiOSのロックの解除をしなくても最後まで動作するため、例えば朝の挨拶だけ投稿したいような場合に有用です。

まとめ

Siriショートカットを使い、iOSからは未知であるSNSに投稿する例を示しました。httpに載った仕組みであれば、同じように(APIが存在する仕組みであれば)様々に動作させられますし、その他のコマンドも応用すれば出来ることは無限大に広がります。是非試してみてください。