外部仕様の変更に伴う、ライブラリの刷新
これまで運用してきたX(旧Twitter)への通知システムが、API v2への完全移行によって停止しました。利用していた「CoreTweet」がv2に対応していない以上、ソースコードの一部を書き換えるだけでは対応できません。
「動かなくなったものを、最短ルートで再稼働させる」。そのために、今回はGeminiを仕様確認のパートナーとして使い、代替ライブラリの選定を行いました。
Geminiによる代替案の比較検討
まず、現在のC#環境(.NET)において、v2に対応した主要なライブラリをリストアップさせ、比較検討しました。
- TwitterSharp
- LinqToTwitter
- 自前でのHttpClient実装
それぞれのメンテナンス状況や、現在の私のコード体系との親和性を確認した結果、今回はLinqToTwitterを選択することに決めました。
実装における技術的差異の確認
ライブラリを載せ替えるにあたり、CoreTweet時代との実装上の違いを詰めておく必要があります。AIとの対話を通じ、以下の「お作法」を整理しました。
- TwitterContextの管理 CoreTweetのTokensに相当する「TwitterContext」をどうインスタンス化し、どう使い回すのがこのライブラリの定石なのか。
- API v2固有の認証フロー OAuth 2.0やBearer Tokenの扱いなど、v2特有の仕様がライブラリ側でどう抽象化されているか。
これらは、新しいライブラリを正しく、安定して動作させるために不可欠な確認作業です。
結論:移行のロードマップ
今回のGeminiとのセッションを経て、以下の手順で作業を進める方針を固めました。
- NuGetパッケージの入れ替えと依存関係の整理
- 認証クラスのラッパー作成(既存の呼び出し側への影響を最小限にするため)
- 通知機能の疎通確認
