結論
Azure Logic Apps で Twitter API を叩いて 403 エラーになったら、Twitter Developer Portal で App を作り直してみよう。
背景
Twitter の Developer アカウント作成のハードルが下がったようなので、Azure Logic Apps で使っているコネクターの認証を Use default shared application
から Bring your own application(BYOA)
に変えてみようと思いました。時を同じくして、Microsoft 様は Use default shared application
のサポートを終了したようです。
Twitter の Developer アカウント作成などは先達に任せるとして(とっても簡単でした。最終的に一番ためになった記事を末尾にリンクします。)、僕が BYOA に移行したときにハマったとこと解決方法を書きます。
参考
※2023/05/01現在はまだ記載されていますが、Logic Apps では Use default shared application
が選択できなくなっています。
症状
BYOA のコネクター設定はうまくできたように見えるのですが、アクションを実行すると 403 エラーになってしまいました。メッセージを読むと、以前のプラン?の話をしているようです。(現在は Free/Basic/Enterprise)
{
"status": 403,
"message": "You currently have Essential access which includes access to Twitter API v2 endpoints only. If you need access to this endpoint, you’ll need to apply for Elevated access via the Developer Portal. You can learn more here: https://developer.twitter.com/en/docs/twitter-api/getting-started/about-twitter-api#v2-access-leve\r\nclientRequestId: <略>\r\nserviceRequestId: <略>",
"error": {
"message": "You currently have Essential access which includes access to Twitter API v2 endpoints only. If you need access to this endpoint, you’ll need to apply for Elevated access via the Developer Portal. You can learn more here: https://developer.twitter.com/en/docs/twitter-api/getting-started/about-twitter-api#v2-access-leve"
},
"source": "twitter-je.azconn-je-001.p.azurewebsites.net"
}
解決方法
Twitter Developper Portal で App を作り直したところうまくいきました。アカウント作成時に作られる App だとうまくいかないようです。まったく同じ設定でも作り直したところうまく動作しました。
参考
神です。この通りやれば全部解決。