こんにちわ、のりじです。
Twitterの仕様変更の影響でMicrosoftが2023年4月25日以降、連携を終了しました。
というわけで、Power AutomateやAzure Logic Appsを利用してTwitterに自動投稿を行っている場合はエラーになってワークフローが止まります。
もうノーコードでTwitterへの自動投稿Bot作るのは難しいかな?と思ったんですが、友人のHiro さんに 「IFTTTの自動投稿は動いてる」と教えてくださったので ヒントを貰ってPower Automate / Azure Logic AppsTwitterコネクタをIFTTTのTwitterアクションで置き換えてみた、な備忘録です。
IFTTTのTwitter連携について
2023年5月23日以降Freeでは利用できなくなりました。Proに変更する必要があるので注意してください。
1. ワークフローの準備
今回はTwitterコネクタのみをIFTTTと置き換える方法です。
全体のワークフローの作成は以下の記事を参考に。
記事はAzure Logic Appsを使う前提で書いていますが、もちろんPower Automateでも同じワークフローが作成できます。
ただPower Automateを利用する場合、HTTPコネクタはプレミアコネクタとなるので注意してください。
2. IFTTTの準備
今回はIFTTTのWebhookレシピを利用してPower Automate / Azure Logic Appsとつなぎます。
IFTTT側は、WebhookとTwitterのみ利用する形。
2-1. トリガーの作成
Webhookをトリガーにします。
IFTTT にアクセスして、ログインし検索窓に「Webhook」と入力。
Webhooksを選んだあと「Create」をクリック。
「If This」をクリックし、検索窓にWebhookと入力。
トリガーの種類が2つ表示されるので「Receive a web request」を選択。
私はここで「JSON」を選んだのに気づかず地味にハマりました・・・
「Event Name」にわかりやすい名前を入力してトリガーを作成します。
2-2. アクションの作成
「Then That」をクリックして検索窓に「Twitter」と入力。
「Post a tweet」をクリック。
Tewwt text の部分にデフォルトで表示されている「The event named "{{EventName}}" occurred on the Maker service」は利用しないので全文削除。
「Add ingredient」をクリックするとメニューが表示されるので「Value1」を選択します。
2-3. Webhookの設定確認
上記のレシピが完成したら、上部タブの「Explore」をクリックし検索窓に「Webhook」と入力。右上に「Setting」ボタンがあるのでクリックします。
「Webhooks Setting」ページが開くので、URLで表示されているページにアクセスします。
「Your key is」が表示されたページになります。今回はこのページ内の「To trigger an Event with 3 JSON values」の内容を利用します。
3. Power Automate / Azure Logic Appsの修正
既に作成済みのワークフローの最後に設定したTwitterコネクタを削除しHTTPコネクタに変更します。
HTTPコネクタに以下の内容を入力。
- 方法:「POST」を選択
- URI:https://maker.ifttt.com/trigger/{設定したwebhookトリガーのEvent Name}/with/key/{表示されているWebhooks SettingのYour Key} を入力
- ヘッダー:「Content-Type」と「application/json」を入力
- 本文:以下の内容をコピペ
{
"value1": @{first(body('アレイのフィルター処理'))?['ツイート内容']}
}
以上が設定できたら「保存」します。
4. 実行結果
実行成功すると、出力に状態コード200と表示されます。が、本文にはTweet内容が表示されません。(Congratulations!~のみの表示)
IFTTTの上部タブ「My Applets」をクリックすると作成したレシピが表示されるのでクリック。「Check the log of your Applet runs」で詳しいログが確認できます。
5. 最後に
IFTTTのTwitterアクションに置き換える方法ですが、いつ提供が終了するのかわからないので、本記事内容のご利用は自己責任で!
IFTTTのWebhook関連の情報はわかりにくいなと感じたので、利用時は気をつけてください。