2018年5月25日金曜日

Zapier で Webhook を使ってツイートする

概要

Zapier は IFTTT のようなマッシュアップサービスです
今回は Webhook 機能を使ってそれをトリガーにツイートしてみました

環境

  • macOS 10.13.4
  • Zapier 2018/05/21 時点

Twitter アカウント連携

事前に Zapier で Twitter アカウントを連携しておきましょう
Home で Twitter のアプリを選択しそのまま下にスクロールすると設定できる画面があるので連携しましょう (画面は認証済み)
zapier_webhook1.png

Connect すると Twitter の OAuth 画面になるのでログインしましょう
もしすでにログインしている場合、そのログインしているアカウントと連携されてしまうので、事前にログアウトして連携したいアカウントで再度ログインしてください

zap の作成

では Webhook を使った zap を作成していきます
ホーム画面から右上の「Make a Zap!」を選択します
zapier_webhook2.png

トリガーの作成

トリガーの設定画面で Webhook を選択します
zapier_webhook3.png

トリガーの種類を選択します
Webhook したらツイートするので「Catch Hook」を選択します
zapier_webhook4.png

Zapier の Webhook はリクエスト時に JSON ボディを設定できます
基本はフラットな JSON を自由に設定できるのですが、入れ子にしたい場合は指定しなければいけません
今回は特に入れ子にはしないのでそのまま次に進みます
zapier_webhook5.png

Webhook のテスト画面になります
Webhook 用の URL が表示されているのでコピーしましょう
そして「OK, I did this」をクリックすると Webhook の待ち状態がスタートします
zapier_webhook6.png

今回は curl を使ってテストしてみます
ターミナルから以下のコマンドを実行してみましょう

curl -v -H "Accept: application/json" \
        -H "Content-Type: application/json" \
        -X POST \
        -d '{"first_name":"Bryan","last_name":"Helmig","age":27}' \
        https://hooks.zapier.com/hooks/catch/12345/abcdeft/

Webhook 用の URL はサンプルになるので払い出された URL に変更してください
テストの場合 JSON ボディが何かしら設定されていないとテストが成功しないので適当に設定しリクエストします

これで画面に戻るとテストが成功していると思います
「Continue」でアクションの設定をしましょう
zapier_webhook7.png

アクションの作成

先程連携した Twitter アカウントでツイートするアクションを追加します
ちゃんと連携できていれば「YOUR APPS」に Twitter があるので選択しましょう
zapier_webhook8.png

「Create Tweet」を選択します
zapier_webhook9.png

ツイートしたいアカウントを選択します
おそらく先程連携したアカウントが 1 つ表示されると思います
Zapier は複数の Twitter アカウントを紐付けることができます
この機能は IFTTT にはないので嬉しい点です
一応「Test」を選択するとアカウントがちゃんと紐付いているか確認できます
zapier_webhook10.png

ツイートする内容を設定できます
「+」を選択すると先程 JSON ボディに載せた情報を使うことができます
今回は first_name を使ってみます
zapier_webhook11.png

テストを送信してみましょう
成功すると Twitter 側にツイートされているはずです
zapier_webhook12.png

Twitter 側
zapier_webhook13.png

これで Finish で zap の作成は完了です
zap 名を設定し有効にすれば使えます
zapier_webhook14.png

動作確認

念のため動作確認してみましょう
以下の curl を実行してみます

curl -v -H "Accept: application/json" \
        -H "Content-Type: application/json" \
        -X POST \
        -d '{"first_name":"Bob"}' \
        https://hooks.zapier.com/hooks/catch/12345/abcdeft/

すると以下のように違う名前でツイートすることができます
zapier_webhook15.png

最後に

Zapier を使って Webhook 経由でツイートしてみました
これを使うメリットとしては Twitter 側に API を使ったアプリを登録しなくて良いことです
最近だと Twitter アプリの登録には電話番号が必要になるのでその面倒な手間を省くことができます

また Zapier の場合 1 つの Zapier アカウント内で複数の Twitter アカウントを紐付けることができます
これは IFTTT にはない機能でやろうとしたらわざわざ専用の IFTTT アカウントを作成しなければいけません

使い勝手もそれほど IFTTT と変わらないので複数アカウントを管理したい場合にはおすすめです

参考サイト

0 件のコメント:

コメントを投稿