メインコンテンツへスキップ
Activity Stream エンドポイントは、サブスクライブしているユーザーのアカウントアクティビティイベントをリアルタイムで配信します。ユーザーがポスト、いいね、フォロー、DM の受信などを行った際のイベントを受信できます。

概要

リアルタイム

イベントを即時配信

包括的

投稿、いいね、フォロー、DM など

サブスクリプション型

ユーザーアクティビティを購読

Webhook 配信

イベントをあなたのサーバーに配信

イベントタイプ

イベント説明
tweet_create_eventsユーザーが新しいポストを作成する
favorite_eventsユーザーがポストにいいねする
follow_eventsユーザーがフォローする、またはフォローされる
direct_message_eventsユーザーがDMを送信または受信する
block_eventsユーザーがブロックまたはブロック解除する
mute_eventsユーザーがミュートまたはミュート解除する

エンドポイント

メソッドエンドポイント説明
GET/2/activity/streamアクティビティストリームに接続
POST/2/activity/subscriptionsサブスクリプションを作成
GET/2/activity/subscriptionsサブスクリプションの一覧を取得
PUT/2/activity/subscriptions/:idサブスクリプションを更新
DELETE/2/activity/subscriptions/:idサブスクリプションを削除

仕組み

  1. サブスクリプションを作成 — ユーザーアクティビティの購読を開始する
  2. ストリームに接続 — 持続的な接続を確立する
  3. イベントを受信 — リアルタイムのアクティビティイベントを取得する
  4. イベントを処理 — アプリケーション側でイベントを処理する

例:ストリームに接続する

import requests

def stream_activity(bearer_token):
    url = "https://api.x.com/2/activity/stream"
    headers = {"Authorization": f"Bearer {bearer_token}"}
    
    response = requests.get(url, headers=headers, stream=True)
    
    for line in response.iter_lines():
        if line:
            print(line.decode("utf-8"))

はじめに

前提条件

クイックスタート

最初のサブスクリプションを設定する

Account Activity API

Webhook ベースの代替手段

APIリファレンス

エンドポイントの詳細ドキュメント