目次
はじめに
IFTTT、便利ですよね。
自分も(GoogleHome関係で)よく使ってます。
この記事はIFTTTのWebhookでPOST送信しようとした時に、3タイプあって何が違うんだ~って思った時に調べたことのまとめです。
ご参考までに。
そもそもWebhookとは
すごい簡単に説明すると、
「ある動作(トリガ)に対してPOSTリクエストを送信する仕組み」
という感じです。
有名なのはGitHubが提供してるWebhookですね。
リポジトリにpushしたときとかにPOSTリクエストを送信できるようです。
ちなみに僕がIFTTTで使ってるのは、
GoogleHomeで何か発言をしたら、発言した内容をPOSTリクエストする
というものです。
IFTTTには送信タイプ(ContentType)が3つあって、
- application/json
- application/x-www-form-urlencoded
- text/plain
の3タイプがあります。
これらの3タイプの違いってなんだということをまとめました。
IFTTTで使えるContentType
application/json
POSTするデータとしてJSON形式を使うフォーマットです。
IFTTTだとBody欄に{"key":"val","key2":"val2"}
と書くとjsonデータをPOSTリクエストで送ることができます。
curlだとこんな感じですかね。
application/x-www-form-urlencoded
こちらはURLにクエリパラメータをくっつけてPOSTリクエストを送信するフォーマットです。
クエリパラメータとはよくAmazonとか見たときにURLが長くなっているアレです。
https://www.amazon.co.jp/s/ref=nb_sb_noss?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&url=search-alias%3Daps&field-keywords=%E3%81%82%E3%82%8C%E3%81%8C%E3%81%AA%E3%81%8C%E3%81%A6%E3%81%A1&rh=i%3Aaps%2Ck%3A%E3%81%82%E3%82%8C%E3%81%8C%E3%81%AA%E3%81%8C%E3%81%A6%E3%81%A1
もともとのURLに?
をつけてkey=val
の形で続けていきます。
(例:https://hoge.piyo?key=val
)
複数あるときは&
で区切っていきます。
(例:https://hoge.piyo?key=val&key2=val2
)
IFTTTではBody欄に?
以降をそのまま書くことでPOSTリクエストを送信できます。
(例:key=val
)
text/plain
文字通りplainなtextである(?)テキストファイルをPOST送信できるフォーマットです。
IFTTTではBody欄に書いたものがそのままテキストファイルとして送信されます。
これ以上書くことがない
おわり
以上IFTTTで使えるContentTypeのまとめでした。
Webhook使いこなせるようになりてえな…