メインコンテンツへスキップ
このガイドでは、認証済みユーザーのダイレクトメッセージイベントを取得する方法を順を追って説明します。
前提条件始める前に、以下が必要です。
  • 承認済みの App を持つ開発者アカウント
  • ユーザーアクセス・トークン (OAuth 1.0a または OAuth 2.0 PKCE)

すべてのDMイベントの取得

認証済みのユーザーに対するすべてのDMイベントを取得します:
cURL
curl "https://api.x.com/2/dm_events?\
dm_event.fields=created_at,sender_id,text&\
max_results=100" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"

レスポンス

{
  "data": [
    {
      "id": "1234567890",
      "event_type": "MessageCreate",
      "text": "Hello! How are you?",
      "sender_id": "9876543210",
      "created_at": "2024-01-15T10:30:00.000Z"
    }
  ],
  "meta": {
    "result_count": 1,
    "next_token": "abc123"
  }
}

1対1の会話を取得する

特定の1対1の会話からDMイベントを取得します:
cURL
curl "https://api.x.com/2/dm_conversations/with/9876543210/dm_events?\
dm_event.fields=created_at,sender_id,text" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"
9876543210 を、相手の参加者のユーザーIDに置き換えてください。

会話 ID で取得する

特定の会話 ID の DM イベントを取得します。
cURL
curl "https://api.x.com/2/dm_conversations/1234567890-9876543210/dm_events?\
dm_event.fields=created_at,sender_id,text" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"

イベントタイプでフィルタする

特定のイベントタイプのみを取得します:
cURL
curl "https://api.x.com/2/dm_events?\
event_types=MessageCreate&\
dm_event.fields=created_at,sender_id,text" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"

イベントtype

Type説明
MessageCreateメッセージが送信されました
ParticipantsJoinユーザーが会話に参加しました
ParticipantsLeaveユーザーが会話から退出しました

ユーザーデータを含める

送信者情報を展開する:
cURL
curl "https://api.x.com/2/dm_events?\
dm_event.fields=created_at,sender_id,text&\
expansions=sender_id&\
user.fields=username,profile_image_url" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"

展開付きレスポンス

{
  "data": [
    {
      "id": "1234567890",
      "event_type": "MessageCreate",
      "text": "Hello!",
      "sender_id": "9876543210"
    }
  ],
  "includes": {
    "users": [
      {
        "id": "9876543210",
        "username": "example_user",
        "profile_image_url": "https://..."
      }
    ]
  }
}

共通パラメータ

ParameterDescription
max_results1 ページあたりのイベント数 (1〜100、デフォルト 100)
pagination_token次ページを取得するためのトークン
dm_event.fields返すイベントのフィールド
event_typesイベントの種類でフィルター
expansionsレスポンスに含める関連オブジェクト

次のステップ

DMを送信

ダイレクトメッセージを送信

連携ガイド

基本概念とベストプラクティス

APIリファレンス

エンドポイントの完全なドキュメント