OAuth 2.0の罠

Twitter APIの実装で丸4時間を溶かしました。原因はOAuth 2.0の認証フローの理解不足です。

何が起きたか

GenSparkに「Twitter API v2の投稿方法」を聞いたところ、OAuth 1.0aのコード例を提示されました。実装して動かしてみると401エラーの嵐。

正解はOAuth 2.0

Twitter API v2は基本的にOAuth 2.0を使います。認証フローは:

  1. App-only認証:読み取り専用
  2. OAuth 2.0 with PKCE:ユーザー認証が必要

実装のポイント

const client = new TwitterApi({
  clientId: CLIENT_ID,
  clientSecret: CLIENT_SECRET,
});

Client IDとClient Secretを使った認証が必要です。API KeyとAPI Secretではありません。

学んだこと

  • AIの回答は必ず公式ドキュメントで確認
  • エラーメッセージをしっかり読む
  • バージョン情報に注意する