iPhoneのショートカットからSlackに写真付きのメッセージを送る方法方法について

前回は、iosのショートカットappからAPIを使ってSlackにテキストメッセージを送る方法についてまとめた。

Slackを追記型の日記のように使いたいということから始まったので、どうせならiPhoneで撮った写真もテキストと同じ要領でSlackに送りたい。そこで、今回はiPhoneのショートカットappを使ってSlackに写真を送る方法についてまとめておく。

整理

前回の復習も兼ねて少し整理。

やりたいこと

  • 手動のライフログを残したい。
  • 出来事を日時と一緒に記録していけるもの。
  • PCとiPhoneから書き込みたい。
ということでSlackをライフログのツールとして使ってみることにした。

不満点

Slackでライフログを取ることで上に挙げたやりたいことは実現できたが、Slackは複数のワークスペースやチャンネルがあるのでiPhoneからサクッと書き込みづらいと思うようになった。
  • アプリを起動したらすぐに書き込みたい。
  • ログを残すワークスペースとチャンネルは決まっている。

    この条件は、前回のまとめにあるようにSlackのAPIとiPhoneのショートカットアプリを使うことで解決できた。

    さらにやりたいこと

    1. iPhoneのショートカットからSlackに写真も送りたい。
    2. 写真を送るときは一緒にコメントも送りたい。
    3. 常に写真があるとは限らないので、「テキストのみの」と「テキスト+写真」とを選べるようにしたい。
    目標は3の写真のありなしを選べるようにするととだが、とりあえず今回は1と2をできるようにするところまでをまとめておくことにする。


    SlackのAPI

    今回はSlackのAPIについて必要の作業はない。

    前回APIのトークンを作成した時に、Scopeに「files:write」を追加しておいたので、前回と同じトークンでSlackに写真を送れるようになっている。


    ショートカットのワークフロー

    今回のメインはショートカットのワークフローの作成だ。
    はじめに、前回作成したショートカットは別に、新たなショートカットを新規作成する。
    ここでは「lifelog_pic」という名前にした。

    lifelog_picの流れ

    • 写真を選択する
    • 写真のサイズを小さくする
    • コメントを入力する
    • APIで写真とコメント送る
    lifelog_picの大まかな流れは上記の通り。
    iPhoneの写真はけっこう大きいので、Slackに送る前にサイズを変更することにする。

    ショートカットの作成

    ショートカットの作成画面1
    1. まずは写真を選択する。
    2. その写真をJPEGに変換する。
    3. 写真のサイズを変更する
      • 大きさは任意だが、幅か高さのどちらかを児童にすることで、縦横の比率が変わらないようにする。ここでは縦を自動にした。
    4. 写真と一緒に送るテキストを求める。

      ショートカットの設定画面2

    5. APIのURLを入力する。
      https://slack.com/api/files.upload
    6. ネットワークの設定
    ショートカットの作成画面3
    • 方法: POST
    • ヘッダ
      • Authorization: 前回作成したtoken
      • Content-Type: multipart/form-data
    • 本文を要求: フォーム
      • channels: チャンネル名。またはチャンネルID。チャンネル名の場合はチャン寝る名を変更した場合にここも変更する必要がある。チャンネルIDの確認方法は前回のまとめを参照。
      • file: さっきサイズを変更したイメージ
      • initial_comment: 上で尋ねたテキスト

    ショートカットの作成は以上で完了。

    このショートカットを実行すると、Slackに写真付きのメッセージを送ることができる。



    前回はSlackにテキストを送るショートカットを作った。今回はテキスト付きの写真を送るショートカットを作った。

    それぞれのショートカットは独立しているため、写真が有るか無いかによってショートカットを使い分けなければいけない。

    これだと不便なので、次回は初めに写真が有るか無いかを選択して処理を分けるようにショートカットを改良することにする。

    0 件のコメント :