2022-12-14 Twitter の認証にハマっている
『競技プログラミングの鉄則』を進めた。そろそろ終わりが見えてきた……? a74 で残り 3 問かな。
bouzuya/rust-sandbox の twiq-light は Tweet しようとして認証でハマっている。
Tweet するためには Developer App の Bearer Token (= OAuth 2.0 App Only) だとダメで、 OAuth 2.0 Authorization Code with PKCE が必要なようだ。
https://developer.twitter.com/en/docs/authentication/guides/v2-authentication-mapping
面倒だ。手を抜けないものかと crates:oauth2 を試してみたのだけど Content-Type: application/json を必須とするところに対応できなさそうなので諦めた。
https://developer.twitter.com/en/docs/authentication/oauth-2-0/user-access-token
の手順どおりにやっても動かない。どうも code_challenge_method=plain
を https://api.twitter.com/2/oauth2/token
への POST リクエストで指定するのを忘れていそう。
一応ツイートできたのだけど、 refresh_token を使うなど一工夫必要そうなので、明日改めて取り組む。
今日のコミット。