v2 Account Activity API 移行ガイド
変更点の概要
- API 形式: エンドポイントは /1.1/account_activity/ ではなく /2/account_activity/ のベースパスを使用します。
- Webhook 管理: Webhook の作成、一覧、検証(CRC)、削除は V2 Webhooks API および参考実装 https://github.com/m-rosinsky/XWebhookTest/blob/main/app.py によって管理されます。
- 認証: V2 エンドポイントは次のいずれかを必要とします:
- ユーザー単位の操作(例: ユーザーの購読)には OAuthUser(3-legged OAuth)。
- アプリレベルの操作(例: 購読の一覧/削除)には OAuth2 App Only(Bearer Token)。
- V1.1 では要件がまちまちで、多くの場合 OAuth 1.0a を使用していました。
- エンドポイント対応表:
| V1.1 Endpoint | V2 相当 / アクション | 備考 |
|---|---|---|
| POST /1.1/account_activity/webhooks.json?url=<URL> | POST /2/webhooks | Docs。OAuth2AppOnly が必要。 |
| GET /1.1/account_activity/webhooks.json | GET /2/webhooks | Docs。OAuth2AppOnly が必要。 |
| PUT /1.1/account_activity/webhooks/:webhook_id.json | PUT /2/webhooks/:webhook_id | CRC をトリガーします。Docs。OAuth2AppOnly が必要。 |
| DELETE /1.1/account_activity/webhooks/:webhook_id.json | DELETE /2/webhooks/:webhook_id | Docs。OAuth2AppOnly が必要。 |
| POST /1.1/account_activity/webhooks/:webhook_id/subscriptions/all.json | POST /2/account_activity/webhooks/:webhook_id/subscriptions/all | OAuthUser が必要。 |
| GET /1.1/account_activity/subscriptions/count.json | GET /2/account_activity/subscriptions/count | OAuth2AppOnly が必要。 |
| GET /1.1/account_activity/webhooks/:webhook_id/subscriptions/all.json | GET /2/account_activity/webhooks/:webhook_id/subscriptions/all | OAuthUser が必要。 |
| GET /1.1/account_activity/webhooks/:webhook_id/subscriptions/all/list.json | GET /2/account_activity/webhooks/:webhook_id/subscriptions/all/list | OAuth2AppOnly が必要。 |
| DELETE /1.1/account_activity/webhooks/:webhook_id/subscriptions/:user_id/all | DELETE /2/account_activity/webhooks/:webhook_id/subscriptions/:user_id/all | OAuth2AppOnly が必要。 |
| DELETE /1.1/account_activity/webhooks/:webhook_id/subscriptions/all | 廃止 / 直接の同等機能なし | 個別に削除するか、DELETE /2/webhooks/:webhook_id で webhook を削除してください。 |
- レスポンス形式: AAAPI ドキュメントの成功・エラー時のレスポンス構造を確認してください。
移行方法
- パッケージを選定する:
- Account Activity API へのアクセスにあたり、次を考慮して エンタープライズ または プロ のパッケージを選んでください:
- 必要な webhook の数
- 現在/将来のサブスクリプション数または認可ユーザー数
- X クライアントアプリケーションの数
- 希望するサポートレベル(フォーラム対エンタープライズのマネージド 1:1 サポート)
- 料金の詳細(エンタープライズは営業までお問い合わせください)
- Account Activity API へのアクセスにあたり、次を考慮して エンタープライズ または プロ のパッケージを選んでください:
- 認証を OAuth 2.0 に更新する:
- X アプリに「読み取り、書き込み、ダイレクトメッセージへのアクセス」の権限が付与されていることを確認してください。
- V2 エンドポイント用に OAuth 2.0 へ更新します。スコープが変更された場合は、ユーザーを再認可してください。
- 開発者ポータルで次を管理します:
- OAuth 2.0 アクセストークン
- Client ID と Client Secret
- Webhook を確認または再設定する:
- 既存の webhook URL を使用するか、新しい URL を設定します(例: https://your_domain.com/webhook/twitter)。
- V2 Webhooks API ドキュメントに従って、webhook を登録・管理してください。
- サンプルアプリ:
- Simple webhook server
- CRC チェックへの応答方法と POST イベントの受け取り方法を示す単一の Python スクリプトです。
- Account Activity API sample dashboard
- bun.sh で作成された Web アプリで、webhook とサブスクリプションの管理や、ライブイベントのアプリ内での直接受信が可能です。
- Simple webhook server