blog.bouzuya.net

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=plainhttps://api.twitter.com/2/oauth2/token への POST リクエストで指定するのを忘れていそう。

一応ツイートできたのだけど、 refresh_token を使うなど一工夫必要そうなので、明日改めて取り組む。


今日のコミット。