メインコンテンツへスキップ

v2 Account Activity API 移行ガイド

このガイドでは、従来のエンタープライズ版 Account Activity API から v2 Account Activity API への移行方法を解説します。中核機能は同一ですが、エンドポイントの構造と認証方式は X API v2 と整合するように更新されています。

変更点の概要

  • 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 EndpointV2 相当 / アクション備考
POST /1.1/account_activity/webhooks.json?url=<URL>POST /2/webhooksDocs。OAuth2AppOnly が必要。
GET /1.1/account_activity/webhooks.jsonGET /2/webhooksDocs。OAuth2AppOnly が必要。
PUT /1.1/account_activity/webhooks/:webhook_id.jsonPUT /2/webhooks/:webhook_idCRC をトリガーします。Docs。OAuth2AppOnly が必要。
DELETE /1.1/account_activity/webhooks/:webhook_id.jsonDELETE /2/webhooks/:webhook_idDocs。OAuth2AppOnly が必要。
POST /1.1/account_activity/webhooks/:webhook_id/subscriptions/all.jsonPOST /2/account_activity/webhooks/:webhook_id/subscriptions/allOAuthUser が必要。
GET /1.1/account_activity/subscriptions/count.jsonGET /2/account_activity/subscriptions/countOAuth2AppOnly が必要。
GET /1.1/account_activity/webhooks/:webhook_id/subscriptions/all.jsonGET /2/account_activity/webhooks/:webhook_id/subscriptions/allOAuthUser が必要。
GET /1.1/account_activity/webhooks/:webhook_id/subscriptions/all/list.jsonGET /2/account_activity/webhooks/:webhook_id/subscriptions/all/listOAuth2AppOnly が必要。
DELETE /1.1/account_activity/webhooks/:webhook_id/subscriptions/:user_id/allDELETE /2/account_activity/webhooks/:webhook_id/subscriptions/:user_id/allOAuth2AppOnly が必要。
DELETE /1.1/account_activity/webhooks/:webhook_id/subscriptions/all廃止 / 直接の同等機能なし個別に削除するか、DELETE /2/webhooks/:webhook_id で webhook を削除してください。
  • レスポンス形式: AAAPI ドキュメントの成功・エラー時のレスポンス構造を確認してください。
移行時は、新しいベースパスの適用、認証フローの見直し、そして V2 Webhooks API を用いた webhook 管理に合わせてコードを更新してください。

移行方法

  • パッケージを選定する:
    • Account Activity API へのアクセスにあたり、次を考慮して エンタープライズ または プロ のパッケージを選んでください:
      • 必要な webhook の数
      • 現在/将来のサブスクリプション数または認可ユーザー数
      • X クライアントアプリケーションの数
      • 希望するサポートレベル(フォーラム対エンタープライズのマネージド 1:1 サポート)
      • 料金の詳細(エンタープライズは営業までお問い合わせください)
  • 認証を 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 とサブスクリプションの管理や、ライブイベントのアプリ内での直接受信が可能です。