gonypage diary

トップ > 2023/04 > 23 > 16:49

2023/04/23

16:49 Twitter API v2に移行した

このウェブ日記は更新時にTwitterで通知するようになっているのだが、API v1.1廃止のアナウンスがあったのでv2に移行した。

今回の移行ではAPIそのものの移行の他にもAPIプラン変更に伴う設定変更が予想されたが、案の定それでハマったようだった(後述)。

移行前に使っていたモジュールはtwitterというそのまんまの名前のやつだったが、これはv1.1にしか対応していないようだったのでTweepyを使用することにした。実のところ、Tweepyはこの日記システムがPython 3化される前に使っていたモジュールで、今回は出戻りということになった...

やることはといえばClientをインスタンス化してcreate_tweet()を呼ぶだけだったのだが、認証でハマったハマった。

API v2の認証にはOAuth 2.0 Bearer Token、OAuth 1.0a User Context、OAuth 2.0 Authorization Code Flow with PKCEがあり、Bearer Tokenはwriteアクセスができないらしく今回は使えない。PKCEはユーザーにアクセス許可を求めるやつなのでこれも使えない。そうなると結局従来のConsumer Key、Consumer Secret、Access Token、Access Token Secretを使う認証になるはずだが、何度やっても上手く動かない。

結局何が悪かったのかというとおそらくAPIプラン設定変更が反映されていなかったようで、Developer Portal側でプロジェクトを作り直して新しいトークンとシークレットを作ったところ解決... イーロンマスクめ!

まあなんとか動いたようなのでよしとする。

Generated by Rui 0.4.3