LoginSignup
10

More than 3 years have passed since last update.

iOSのショートカットアプリでSlackリマインダーのGUIを作る

Posted at

はじめに

Slackにはメッセージをやり取りする他にファイルや画像を送り合ったり、アプリを追加して外部サービスと連携することができます。
その中の1つにリマインダー機能があります。
リマインダーは自分以外にも特定のメンバー、チャンネルにも設定でき、通知時間も柔軟に決めることができます。
しかし、このリマインダーは/remindから始まるスラッシュコマンドからしか設定できません。
書式としては公式のリマインダー設定にあるように下記のように記入します。

リマインダー設定
/remind [@メンバー/#チャンネル] [何を(日本語化)] [いつ(英語)]

これだけの書式を記憶に頼るといつも間違ってしまうため、iPhoneのショートカットアプリを使用して簡易なGUIを作成しました。

環境

iOS:12.3.1

ショートカットアプリとは

‎「ショートカット」をApp Storeで
アプリの解説から引用

Siriショートカットを使えば、1回タップするかSiriに一言伝えるだけで、Appでの作業をすばやく実行できます。“ショートカット” Appでは、よく使うAppの複数の操作をまとめた独自のショートカットを作成できます。ギャラリーに用意されたサンプルを使ってみることも、ドラッグ&ドロップでショートカットを独自に作ることもできます。

この説明には無いですがこのアプリでは変数が使用でき、APIが叩けるという特徴があります。
つまりこのアプリだけでAPI経由でSlackの操作がノンコーディングで出来るということです。

事前準備

Slack tokenの取得

Qiitaポストを参考にSlackのトークンを取得
【画像で説明】SLACKの推奨アクセストークン(レガシートークンじゃない方)を取得する方法 - GUIで取得編 - - Qiita
Permission Scopesで「reminders:write」を選択

ショートカット作成

今回は自分にリマインダーを通知するショートカットを作成します。
任意の人へのリマインダーを設定する場合には選択リスト等の追加入力が必要になります。

リマインド日時を入力

日付フォーマットでは標準で用意されているものでは上手く設定できなかったのでカスタムを選択
文字列フォーマットはyyyy-MM-dd HH:mmを入力
入力を「date」に設定
IMG_4850.PNG

メッセージを入力

注意することは特になし
入力を「text」に設定
IMG_4851.PNG

URLの設定

SlackAPIのDocumentにあるMethod URLを入力
reminders.add method | Slack

URLの内容を取得

詳細を開き方法は「POST」を選択
ヘッダに表のパラメータを設定

キー テキスト
Authorization Bearer [xoxpから始まる取得したトークン]
Content-type application/json
Charset utf-8

本文(パラメータ)にjsonを選択し、表のパラメータを設定

キー パラメータ
text text(変数)
time date(変数)
user [自分のユーザID]

IMG_4852.jpg

結果を表示

任意のテキストを入力をし、結果を表示する
IMG_4853.PNG

まとめ

Slackのリマインダーに簡易的なGUIを追加できました。
Slackのトークンには権限のスコープが設定できるので少し難しいですが、
DocumentのWorks with欄に書かれているRequired scope(s)の権限をトークンに設定すれば大丈夫だと思います。
他のSlackAPIの簡易GUIが作れるので是非挑戦してみてください!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10