1. X App を作成する
承認済みの開発者アカウントを用いて、developer portal から X app を作成します。会社を代表してアプリを作成する場合は、企業の X アカウントを使用してください。- アプリページの permissions タブで “Read, Write, and Access direct messages” を有効化します。
- “Keys and Access Tokens” タブで、アプリの Consumer Key (API Key)、Consumer Token (API Secret)、Bearer Token を控えておきます。
- アプリの Access Token と Access Token Secret を生成します。これらはユーザーアカウントをサブスクライブするために必要です。
- X Sign-in やユーザーコンテキストに慣れていない場合は、アクセストークンの取得方法を確認してください。
- developer portal の “Apps” ページからアプリの数値 ID を控えておきます。Account Activity API のアクセス申請時に必要になります。
2. Account Activity API のアクセス権を取得する
Account Activity API は Enterprise および Pay Per Use のティアで利用できます。アクセス申請は developer portal から行います。3. Webhook を登録する
Account Activity イベントを受信するには、公開アクセス可能な HTTPS URL を持つ Webhook を登録する必要があります。Webhook を消費するアプリの開発、Webhook の登録、セキュリティ、Challenge-Response Checks (CRC) の取り扱いの詳細は、V2 Webhooks API ドキュメントを参照してください。- Webhook が JSON エンコードされたイベントペイロードを含む POST リクエストを処理できるように構成してください。
- Webhook の登録レスポンスから
webhook_idを取得します。これはサブスクリプションを管理するために必要です。
4. セットアップを検証する
アプリと Webhook が正しく構成されていることを検証するには:- Webhook にユーザーアカウントをサブスクライブします (後述の サブスクリプションの追加 を参照)。
- アプリがサブスクライブしている X アカウントの 1 つが投稿した Post に「いいね」を付けます。
- Webhook URL への POST リクエストとして
favorite_eventsペイロードを受信するはずです。
サブスクリプションを追加してからイベントの配信が始まるまで、最大 10 秒程度かかる場合があります。
サブスクリプションの管理
有効なwebhook_id を持つ Webhook を登録した後、ユーザーサブスクリプションを管理してアカウントのアクティビティを受信できるようになります。サブスクリプションの追加、閲覧、削除には以下のエンドポイントを使用します。
サブスクリプションの追加
エンドポイント:POST /2/account_activity/webhooks/:webhook_id/subscriptions/all — API リファレンス
指定した Webhook 経由でイベントを受信するために、認証済みユーザーをサブスクライブします。
認証: OAuth 1.0a (サブスクライブされるユーザーを表す 3-legged OAuth フローが必要)。
サブスクリプションの確認
エンドポイント:GET /2/account_activity/webhooks/:webhook_id/subscriptions/all — API リファレンス
認証済みユーザーが指定した Webhook にサブスクライブされているかを確認します。
認証: OAuth 1.0a (3-legged OAuth フローが必要)。
サブスクリプションの削除
エンドポイント:DELETE /2/account_activity/webhooks/:webhook_id/subscriptions/:user_id/all — API リファレンス
指定したユーザー ID のサブスクリプションを無効化し、Webhook へのイベント配信を停止します。
認証: OAuth2 App Only Bearer Token。
すべてのサブスクリプションの閲覧
エンドポイント:GET /2/account_activity/webhooks/:webhook_id/subscriptions/all/list — API リファレンス
指定した Webhook に現在サブスクライブされているすべてのユーザー ID のリストを取得します。
認証: OAuth2 App Only Bearer Token。
サブスクリプション数
エンドポイント:GET /2/account_activity/subscriptions/count — API リファレンス
認証済みアプリケーションのアクティブなサブスクリプションの合計数と、プロビジョニングされた上限を返します。
認証: OAuth2 App Only Bearer Token。
DM 専用のサブスクリプションはサポートされなくなりました。
subscriptions_count_direct_messages フィールドは常に "0" になります。リプレイ
AAAv2 はリプレイ機能を提供しており、指定した時間範囲内の過去のイベントを取得して Webhook に再配信できます。ダウンタイムによって取り逃したイベントの復旧に便利です。 エンドポイント:POST /2/account_activity/replay/webhooks/:webhook_id/subscriptions/all — API リファレンス
認証: OAuth2 App Only Bearer Token。
成功 (200 OK):
ジョブ完了メッセージ
リプレイジョブが正常に完了すると、X は以下のジョブ完了イベントを配信します。このイベントを受信した時点でジョブの実行は完了しており、次のジョブを送信できます。重要な注意事項
サンプルアプリ
次のステップ
はじめに
アクティビティタイプ、データオブジェクト、ペイロード例
Webhooks API
Webhook の登録と管理
移行ガイド
レガシーの Enterprise から v2 へ移行する
Webhook クイックスタート
CRC のセットアップ、セキュリティ、Webhook の登録