ショートカットアプリから POST リクエスト送信する方法を知らなかったのでメモ。
わかってしまえば簡単だが、「URLの内容を取得」がHTTPリクエスト送信とは思いませんでした。
今回は、他のアプリから”共有” でショートカットを呼出し、POSTリクエストを送ってみます。

使うブロック? アクションは
- 共有シートに表示
- 入力からURLを取得
- URLの内容を取得
厳密には、[共有シートに表示] はアクションではないのかもしれない、というのもショートカットの編集画面内からは [共有シートに表示] を追加することはできなくて
一旦編集画面を閉じてショートカットの詳細から [共有シートに表示] をオンにすると編集画面に現れるようになる。
同時に、他のアプリからこのショートカットへ送れるようになる仕組みみたい。

[共有シートに表示]
アプリ、その他〇〇個 から受取りたいデータの種類を選ぶ今回は以下の4つを選んだ、もしかしたらリッチテキストも入れてもいいかもしれない。
こうすることで受け取るデータを限定するんだと思う。
- テキスト
- Web
- Safariの Webページ
- URL
- 記事
入力からURLを取得
ここでは1つ前のしょり ショートカットの入力 を選ぶ
URLの内容を取得
ここがメイン。今回は送信先は固定で指定した(画像のマスク部分)。まあ好きにしたらいい。
他のパラメータは
方法: POST
ヘッダ: 指定なし
本文を要求:JSON
url URL (1つ前で取得したURLを変数から選択)
こうすると http ヘッダーに appliation/JSON つけてメッセージ本文にこんな感じで投げてくれるらしい。
{
“url”: “取得したURL”
}
隠蔽が過ぎてみつけられないよ。
ショートカットアプリは、変数の指定のしかたとか、説明のてにをは が自分にはわかりにくいとか色々クセが強いが、使うと便利ではあるし、ワンアクションで何かやらせようとすると避けられないものでもある。
色々書いたがポイントは、
- ショートカット開く前の詳細から共有シートを選ぶこと
- URLの内容を取得 で HTTPリクエストをおくれること
この2つ。
しかし、Automator という名前のほうが良かったと思うけどな。
コメントを残す