iPhoneのショートカットでSlackにメッセージを投稿する方法

 iPhoneのショートカットappからSlackにメッセージを投稿できるようにしたので、その方法をまとめておく。今回のまとめはテキストメッセージの送信についてのみ。次回は写真の投稿方法についてまとめる。

動機

なぜショートカッっとappからSlackにメッセージを投稿できるようにしたのか?

昔はEvernoteにライフログを付けていた。自動に行動を記録するとかではなく、やったことや行った所を1つのノートに追記する形で記録していた。追記型の日記のようなものだ。

そのときはPosteverとかStackOneといったアプリを使って、いい感じに記録できていた。数行のコメントが日時付きで日毎のノートに追記されるという仕様が気に入っていた。

でも、最近はあまりEvernoteを使っていないし、アプリにも気になるところがあったりしたので他の方法を模索していた。

Slackを使ってみる

そこで、仕事で使っていてちょっとしたメモとかにも便利なSlackを使ってみることにした。

Slackには自分用のワークスペースを作って、そこにライフログ用のチャンネル用意して記録することにした。Slackのアプリはデスクトップでもスマホでも使いやすいので、Slackをライフログに使うという方法は上手くいった。

だけど、だんだんとiPhoneから書き込む時にワークスペースとかチャネルを切り替えたりするのが面倒になってしまった。PostEverのようにアプリを起動したらすぐにメモを書いて投稿できたらいいなと思うようになり、iPhoneのメッセージアプリで定型文の送信に使っているショートカットappを使ってみることにした。

Slack APIの準備

iPhoneのショートカットからSlackにメッセージを書き込むためにはSlackのAPIを使う必要がある。今までSlackのAPIを使った経験はなかったが問題なく使うことができた。

APIトークンの作成

  1. https://api.slack.com/apps にアクセス
  2. Create New App をクリック
    • App Nameを入力。「ios_shortcut」とか
    • 自分のワークスペースを選択して「Create App」をクリック

      App Nameとワークスペースの設定画面

  3. 画面左側のメニューのFeaturesにある「Oauth & Permissions」を選ぶ

    Oauth & Permissionsの画像

  4. 「Scopes」のエリアの「User Token Scopes」でAPIでやりたいことを設定する。
    • 「Add an OAuth Scope」をクリック
    • 「chat:write」と「files:write」を追加する
    • iosのショートカットappからテキストのメッセージしか投稿しない場合は「chat:write」だけ、写真も投稿したいなら「files:write」を選ぶ

      Scopesの追加画面

  5. 画面上部の「OAuth Tokens for your Workspace」にある「Install to Workspace」をクリック

    Install to Workspaceのキャプチャ
  6. 表示されたページでslack APIがワークスペースにアクセスすることを許可する。
  7. 画面左側のメニューの「Install App」に「User OAuth Token」ができる。
    これは後でiPhoneのショートカットで使う。

ショートカットの作成

続いてiPhoneのショートカットapp側の設定について。今回はテキストメッセージの送信ほうほうについてをまとる。写真の投稿は次回のまとめにて。
  1. ショートカットappを起動して画面右上の「+」をクリック
  2. 「…」をクリックしてショートカットの名前とアイコンを決める。ここでは「liflog_text」という名前にした。
  3. アクションを追加する

アクションは、上から「テキスト」、「URL」、「ネットワーク」の3つだけ。
テキストは、「毎回尋ねる」にする。

URLは、「https://slack.com/api/chat.postMessage」とする。
このURLはSlackのAPIドキュメンテーションの「Mthods」で確認することができる。今回についてはこのページ。ページでは「postMessage」というメソッドがどういう引数をとるのかが確認できる。また、「tester」では引数に値を与えてAPIの挙動を確認することができるのでべんりだ。

ネットワークは「URLの内容を取得」として、表示方法を増やしてAPIの引数を入力する。

  • 方法: POST
  • ヘッダ
    • Authorization: Bearer "作成したAPIのトークン"
    • Content-Type: application/json
  • 本文を要求: Json
  • Channel: チャンネル名かチャンネルIDを入力。上のキャプチャはlifelogというチャンネル名で作成している。チャンネル名の場合は、チャンネル名を変更したらここも変更しないといけないので、チャンネル名を変更する可能性があるならチャンネルIDを記入する方が良い。チャンネルIDは、Slackのデスクトップアプリの「チャンネル詳細」の「チャンネル情報」で確認することができる。
  • text: テキスト

以上でショートカットappの設定は終わり。
最後に右上の「…」でアイコンを設定してホーム画面に設定する。あとは、そのアイコンをタップすればメッセージ入力画面が表示され、すぐにSlackにメッセージを投稿することができるようになる。


以上、iosのショートカットappからSlackにメッセージを投稿する方法について。



次回は、テキストだけでなく写真を投稿する方法についてまとめる。

0 件のコメント :