IFTTTで自分専用Tweet APIを作る
TwitterにAPI経由で投稿したいがTwitter公式の開発者登録は面倒なのでIFTTTを使う
ヘッダーのCreateからレシピ追加
If Thisを押してサービス一覧を出し…
Webhooksを選択
Receive a web requestをトリガーとして設定(これしかない)
名前を設定してCreate trigger
これでトリガーは出来た
続いてアクションの設定
Then Thatから…
Twitterを選択
Post a tweet with imageを選択
Post a tweetでも良いが画像を入れたくなったときにも対応できるようこっちにする
アクション設定画面でAdd ingredientボタンを押す
Value1
を選択するとその内容がTweet textに反映される
もともとのThe event named "{{EventName}}" occurred on the Maker service
は使わないので削除する
同様にImage URLにはValue2
を設定してCreate action
TriggerとActionが出来たらContinue
タイトル入力画面になるので適当に名前をつけてFinishすれば完成
Webhooksの設定を先に行う必要があった
説明のためにいったんWebhooksの設定を削除したので作り直し
ExploreページからWebhooksを検索して選択
Connectすると自分用のWebhooksが生成される
右上の歯車から設定を確認
URLが表示されているので控えておく
このURLにアクセスすると使い方を確認できる
このページからテストできる
今回はevent名をsend_tweet
に設定しているのでそれを入力
value1に適当な内容を入れてTest it
これでいけると思ったけどNot foundの画像が出てしまった、これはかっこ悪い…
仕方ない
普通にPost a tweetすることにしよう
実験できてよかった
Add ingredientからValue 1を選択
もちろん{{Value1}}
を直接入力しても問題なし
設定できたらCreate action
Testページから内容を設定してTest it
テスト成功
テストページだとValueにバックスラッシュを入れてもエスケープされてしまうがcurlなどから送信するなら問題なく使えるもよう
❯ curl -X POST -H "Content-Type: application/json" -d '{"value1":"改行してみる\nテスト"}' https://maker.ifttt.com/trigger/send_tweet/with/key/xxxxx
Congratulations! You've fired the send_tweet event
twitterの説明も記事に含めたいのでいったん登録を削除して作り直そう
ExploreページからTwitterを選択
Connect
Twitterに遷移するので認証を許可
ログインしていないとたぶんログインが必要
自動でIFTTTに戻る
ConnectボタンがCreate / Visit Twitterに変わっていたら接続成功
published as an article