オブジェクト・モデル
Tweet
id
、text
、created_at
などの多数の「ルートレベル」fields が含まれます。Tweet オブジェクトは、user
、media
、poll
、place
など複数の子オブジェクトの「親」オブジェクトでもあります。Tweet オブジェクトのこれらのルートレベルの fields をリクエストする際は、field パラメータ tweet.fields
を使用します。
Tweet オブジェクトは user リソースで見つけて展開できます。リクエストした Tweet に関連する追加の tweets も、Tweet リソースで見つけて展開できます。オブジェクトは、user リソースでは ?expansions=pinned_tweet_id
、Tweet リソースでは ?expansions=referenced_tweets.id
を使用して、デフォルトの fields のみを持つオブジェクトとして展開可能です。オブジェクトを完全な形にするために追加の fields をリクエストする場合は、field パラメータ tweet.fields
と併せて expansions を使用します。
フィールド値 | 型 | 説明 | 利用方法 |
---|---|---|---|
id (default) | string | 要求された Tweet の一意の識別子。 | 特定の Tweet をプログラムで取得するのに使用します。 |
text (default) | string | Tweet の実際の UTF-8 テキスト。有効な文字の詳細は twitter-text を参照してください。 | キーワード抽出や感情分析/分類。 |
edit_history_tweet_ids (default) | object | Tweet のすべてのバージョンを示す一意の識別子。編集のない Tweet では ID は 1 つ。編集履歴がある Tweet では複数の ID があります。 | この情報を使用して Tweet の編集履歴を確認します。 |
article | object | この Tweet に含まれる Article の metadata。 | Article のテキストとエンティティを取得します。 |
attachments | object | この Tweet に(存在する場合)含まれる添付の種類を指定します。 | 要求した expansions に対して返されるオブジェクトの理解に役立ちます。 |
author_id | string | この Tweet を投稿したユーザーの一意の識別子。 | ユーザーオブジェクトのハイドレーション、ピアレビュー用のデータセット共有。 |
card_uri | string | この Tweet に含まれる Card の URI。 | |
community_id | string | この Post が属する Community の一意の識別子。 | |
context_annotations | array | Tweet の context annotations を含みます。 | エンティティ認識/抽出、トピック分析。 |
conversation_id | string | 会話の元となる Tweet の Tweet ID(ダイレクト返信、返信への返信を含む)。 | Tweet から会話を再構築するために使用します。 |
created_at | date (ISO 8601) | Tweet の作成時刻。 | 時系列分析や Tweet がいつ作成されたかの把握に有用。 |
display_text_range | array | 表示されるテキスト部分の開始・終了インデックスを含む配列。 | 長い投稿で既定で表示されるテキスト範囲の把握に有用。 |
edit_controls | object | その Tweet があとどれくらい編集可能か、残りの編集回数を示します。 | Tweet が編集可能かどうかを判断します。 |
entities | object | Tweet のテキストから解析されたエンティティ。Twitter Objects の entities を参照。 | ハッシュタグ、URL、メンションなどに関する追加情報を提供。 |
geo | object | ジオタグ付き Tweet の位置またはプレースを示します。 | ジオタグ付き Tweet の位置情報を取得するのに使用します。 |
in_reply_to_user_id | string | 対象の Tweet が返信である場合、このフィールドには元の Tweet の作者の ID が含まれます。 | Tweet が他の Tweet への返信かどうかを判断します。 |
lang | string | Twitter によって検出された場合の Tweet の言語。 | Tweet を使用言語で分類。 |
non_public_metrics | object | リクエスト時点の Tweet に対する非公開のエンゲージメント metrics。ユーザーコンテキスト認証が必要。 | 当該 Tweet によって生成された総インプレッション数を算出。 |
note_tweet | object | 長文の Post(>280 文字)の完全なテキストを含みます。 | 投稿の完全なテキストを取得。 |
organic_metrics | object | リクエスト時点の Tweet に対するオーガニックコンテキストでのエンゲージメント metrics。ユーザーコンテキスト認証が必要。 | Tweet のオーガニックエンゲージメントを測定。 |
possibly_sensitive | boolean | コンテンツがセンシティブと認識され得るかを示します。 | 特定の種類のコンテンツの流通を研究。 |
promoted_metrics | object | リクエスト時点の Tweet に対するプロモーションコンテキストでのエンゲージメント metrics。ユーザーコンテキスト認証が必要。 | プロモーション時の Tweet のエンゲージメントを測定。 |
public_metrics | object | リクエスト時点の Tweet に対する公開エンゲージメント metrics。 | Tweet のエンゲージメントを測定。 |
referenced_tweets | array | この Tweet が参照する Tweet の一覧(リツイート、引用 Tweet、返信など)。 | リツイート等の会話的側面を把握。 |
reply_settings | string | 指定の Tweet に誰が返信できるかを示します。オプションは “everyone”、“mentioned_users”、“followers” です。 | Tweet の返信設定を判断。 |
withheld | object | withheld content の差し止めに関する詳細。 | |
scopes | object | Tweet のスコープの詳細。 | 投稿を閲覧できる対象を示します。プロモーションされた投稿に対してのみ返されます。 |
media_metadata | array | Tweet のメディア添付に関する metadata。 | Tweet のメディア添付の alt_text などの追加 metadata を取得。 |
$BEARER_TOKEN
を自分で生成した Bearer Token に置き換えてください。
ユーザー
user.fields
パラメーターを使用してください。
ユーザーオブジェクトは、Tweetオブジェクト内の子オブジェクトとしても現れ、展開できます。デフォルトfieldsのみを含む簡略オブジェクトを取得するには、?expansions=author_id
または ?expansions=in_reply_to_user_id
を指定して展開します。オブジェクトを完全化するために追加のfieldsを要求する場合は、expansionsとuser.fields
パラメーターを併用してください。
フィールド値 | タイプ | 説明 | 使用方法 |
---|---|---|---|
id (default) | string | このユーザーの一意識別子。"id": "2244994945" | 特定のTwitterユーザーに関する情報をプログラムで取得するために使用します。 |
name (default) | string | ユーザーがプロフィールで定義した名前。必ずしも人の名前ではありません。通常50文字以内ですが、変更される可能性があります。"name": "Twitter Dev" | |
username (default) | string | このユーザーが自分を識別するTwitterのスクリーン名、ハンドル、またはエイリアス。ユーザー名は一意ですが変更される可能性があります。通常最大15文字ですが、一部の履歴アカウントではより長い名前が存在する場合があります。"username": "TwitterDev" | |
affiliation | object | ユーザーの所属に関する詳細を含みます。 | ユーザーの所属バッジを取得するために使用できます。 |
confirmed_email | string | 認証されたユーザーの確認済みメールアドレス。 | |
connection_status | array | 認証ユーザーと検索対象ユーザーとの関係のリストを提供します(フォロー中、フォローされている、フォローリクエスト送信済み、フォローリクエスト受信済み、ブロック中、ミュート中など) “connection_status”: [ “follow_request_received”, “follow_request_sent”, “blocking”, “followed_by”, “following”, “muting” ] | 認証ユーザーと検索対象ユーザーとの接続状況を判定するために使用できます。 |
created_at | date (ISO 8601) | ユーザーアカウントがTwitterで作成されたUTC日時。"created_at": "2013-12-14T04:35:55.000Z" | ユーザーがTwitterを使用している期間を判定するために使用できます |
description | string | このユーザーのプロフィール説明(バイオとも呼ばれる)のテキスト(ユーザーが提供している場合)。"description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API." | |
entities | object | ユーザーの説明で特別な意味を持つテキストに関する詳細を含みます。"entities": { <br/> "url": { <br/> "urls": [ <br/> { <br/> "start": 0, <br/> "end": 23, <br/> "url": "https://t.co/3ZX3TNiZCY", <br/> "expanded_url": "/content/developer-twitter/en/community", <br/> "display_url": "developer.x.com/en/community" <br/> } <br/> ] <br/> }, <br/> "description": { <br/> "urls": [ <br/> { <br/> "start": 0, <br/> "end": 23, <br/> "url": "https://t.co/3ZX3TNiZCY", <br/> "expanded_url": "/content/developer-twitter/en/community", <br/> "display_url": "developer.x.com/en/community" <br/> }, <br/> "hashtags": [ <br/> { <br/> "start": 23, <br/> "end": 30, <br/> "tag": "DevRel" <br/> }, <br/> { <br/> "start": 113, <br/> "end": 130, <br/> "tag": "BlackLivesMatter" <br/> }, <br/> "mentions": [ <br/> { <br/> "start": 0, <br/> "end": 10, <br/> "tag": "TwitterDev" <br/> }, <br/> "cashtags": [ <br/> { <br/> "start": 12, <br/> "end": 16, <br/> "tag": "twtr" <br/> } <br/> ] <br/> } <br/> } | エンティティは、説明に関連するハッシュタグ、URL、ユーザーメンション、キャッシュタグに関する追加情報を提供するJSONオブジェクトです。詳細については、それぞれのエンティティを参照してください。 すべてのユーザーstartインデックスは包含的で、すべてのユーザーendインデックスは排他的です。 |
is_identity_verified | boolean | ユーザーがID認証済みかどうかを示します。 | |
location | string | ユーザーのプロフィールで指定された場所(ユーザーが提供している場合)。これは自由形式の値であるため、有効な場所を示さない場合がありますが、場所クエリを使用した検索を実行する際にファジー評価される可能性があります。"location": "127.0.0.1" | |
most_recent_tweet_id | string | このユーザーの最新Tweetの一意識別子。 | ユーザーの最新Tweetを特定します。 |
parody | boolean | このユーザーアカウントがパロディラベルを持っているかどうかを示します。 | |
pinned_tweet_id | string | このユーザーの固定Tweetの一意識別子。"pinned_tweet_id": "1255542774432063488" | ユーザーのプロフィールの上部に固定されたTweetを特定します。ユーザーの言語を判定するために使用される可能性があります。 |
profile_banner_url | string | ユーザーのプロフィールに表示される、このユーザーのプロフィールバナーのURL。"profile_banner_url": "https://pbs.twimg.com/profile_banners/1716450569358098432/1721022977" | このユーザーのプロフィールバナーをダウンロードするために使用できます。 |
profile_image_url | string | ユーザーのプロフィールに表示される、このユーザーのプロフィール画像のURL。"profile_image_url": "https://pbs.twimg.com/profile_images/1267175364003901441/tBZNFAgA_normal.jpg" | このユーザーのプロフィール画像をダウンロードするために使用できます。 |
protected | boolean | このユーザーがTweetを保護することを選択したかどうかを示します(つまり、このユーザーのTweetが非公開かどうか)。"protected": false | |
public_metrics | object | このユーザーのアクティビティに関する詳細を含みます。"public_metrics": { "followers_count": 507902, "following_count": 1863, "tweet_count": 3561, "listed_count": 1550 } | Xユーザーのリーチや影響力の判定、ユーザーの関心範囲の定量化、X上でのユーザーのエンゲージメントレベルの測定に利用できる可能性があります。 |
receives_your_dm | boolean | このユーザーが認証されたユーザーのDMを受信するかどうかを示します。 | |
subscription | object | ユーザーが認証されたユーザーをサブスクライブしているかどうかの詳細を含みます。 | |
subscription_type | string | 認証されたユーザーが持つX Premiumサブスクリプションのタイプを表す文字列です。例:None 、Basic 、Premium 、PremiumPlus 。ユーザーが認証されたユーザーでない場合は常にNone を返します。 | |
url | string | ユーザーのプロフィールで指定されたURL(存在する場合)。"url": "https://t.co/3ZX3TNiZCY" | Xユーザーがプロフィールで提供するURL。ホームページの場合もありますが、常にそうとは限りません。 |
verified | boolean | このユーザーが認証されたXユーザーかどうかを示します。"verified": true | このXユーザーが認証済みアカウントを持っているかどうかを示します。認証済みアカウントは、公共の利益に関するアカウントが本物であることを示します。 |
verified_followers_count | string | ユーザーの認証済みフォロワー数を表す文字列。 | |
verified_type | string | ユーザーが持つ認証のタイプを表す文字列。例:“blue”、“business”、“government” | |
withheld | object | 該当する場合、非表示コンテンツの非表示詳細を含みます。 |
$BEARER_TOKEN
を、ご自身で生成した Bearer Token に置き換えてください。
Space
expansions
query パラメータに host_ids
、creator_id
、speaker_ids
、mentioned_user_ids
の少なくとも一つを追加することで展開可能です。
Tweet とは異なり、Spaces はエフェメラルで、終了後や作成者によってキャンセルされた場合は利用できなくなります。App が Spaces のデータを扱う際は、最新の情報を返す責任があり、プラットフォームで利用できなくなったデータは削除しなければなりません。Spaces lookup endpoints は、ユーザーの期待と意図を尊重するのに役立ちます。
Field Value | Type | Description | How it can be used |
---|---|---|---|
id (default) | string | リクエストされた Space の一意の識別子。"id": "1zqKVXPQhvZJB" | レスポンスで返された Space を一意に識別します。 |
state (default) | string | Space が開始済み、開始予定、または終了したかを示します。"state": "live" | ライブまたはスケジュール済みの Spaces をフィルターします。 |
created_at | date (ISO 8601) | この Space の作成時刻。"created_at": "2021-07-04T23:12:08.000Z" | Space の作成時期を把握し、時刻順にソートします。 |
creator_id | string | Space の作成者の一意の識別子。"creator_id": "2244994945" | |
ended_at | date (ISO 8601) | 該当する場合の Space の終了時刻。"ended_at": "2021-07-04T00:11:44.000Z" | ライブ Space がいつ終了したかを把握して稼働時間を算出します。 |
host_ids | array | Space のホストの一意の識別子。"host_ids": ["2244994945", "6253282"] | ユーザーオブジェクトを展開し、エンゲージメントを把握します。 |
lang | string | 検出された場合の Space の言語。"lang": "en" | 言語別に Spaces を分類します。 |
is_ticketed | boolean | チケット制の Space かどうかを示します。"is_ticketed": false | 関心の高いコンテンツを強調します。 |
invited_user_ids | array | スピーカーとして招待されたユーザー ID の一覧。"invited_user_ids": ["2244994945", "6253282"] | ユーザーオブジェクトを展開し、エンゲージメントを把握します。 |
participant_count | integer | ホストとスピーカーを含む、Space 内のユーザー数。"participant_count": 420 | エンゲージメントを把握し、レポートを作成します。 |
subscriber_count | integer | Space にリマインダーを設定した人数。"subscriber_count": 36 | イベントへの関心を把握します。 |
scheduled_start | date (ISO 8601) | Space の予定開始時刻。"scheduled_start": "2021-07-14T08:00:00.000Z" | カレンダー通知と連携します。 |
speaker_ids | array | いずれかの時点で話したユーザーの一覧。"speaker_ids": ["2244994945", "6253282"] | ユーザーオブジェクトを展開し、エンゲージメントを把握します。 |
started_at | date (ISO 8601) | Space の実際の開始時刻。"started_at": "2021-07-14T08:00:12.000Z" | Space の開始時刻を特定します。 |
title | string | Space のタイトル。"title": "Say hello to the Space data object!" | キーワード、ハッシュタグ、メンションを把握します。 |
topic_ids | array | Space 作成者が選択したトピックの ID。"topic_ids": ["2244994945", "6253282"] | キーワード、ハッシュタグ、メンションを把握します。 |
updated_at | date (ISO 8601) | Space の metadata の最終更新。"updated_at": "2021-07-11T14:44:44.000Z" | 情報を最新に保ちます。 |
$BEARER_TOKEN
を自身で生成した Bearer Token に置き換えてください。
List
list.fields
を使用します。
List オブジェクトは、他の data オブジェクトの子要素としては返されません。一方で、ユーザーオブジェクトは user リソースで取得および展開できます。これらのオブジェクトは、expansions
query パラメータに owner_id
を追加することで展開可能です。主要な List オブジェクトを補完するために追加フィールドを要求する際は、この展開を list.fields
フィールドパラメータと併用し、展開オブジェクトを補完するには user.fields
を使用してください。
Field Value | Type | Description | How it can be used |
---|---|---|---|
id (default) | string | この List の一意の識別子。"id": "2244994945" | 特定の List に関する情報をプログラムで取得するために使用します。 |
name (default) | string | List 作成時に定義された List の名前。"name": "Twitter Lists" | |
created_at | date (ISO 8601) | List が作成された UTC の日時。"created_at": "2013-12-14T04:35:55.000Z" | List が X 上にどれだけ存在しているかを判断します。 |
description | string | ユーザーに List の内容を伝えるための簡潔な説明。"description": "People that are active members of the Bay area cycling community on Twitter." | |
follower_count | integer | この List をフォローしているユーザー数。"follower_count": 198 | |
member_count | integer | この List のメンバー数。"member_count": 60 | |
private | boolean | List が非公開かどうか。"private": false | |
owner_id | string | この List の所有者の一意の識別子。"owner_id": "1255542774432063488" | このユーザーが他の List を所有しているかの確認や、ユーザーオブジェクトの展開に使用できます。 |
$BEARER_TOKEN
を、生成した Bearer Token に置き換えてください。
メディア
?expansions=attachments.media_keys
による展開が利用可能です。オブジェクトを完全化するために追加の fields を要求する場合は、フィールドパラメータ media.fields
と併用してください。
フィールド値 | 型 | 説明 | 利用方法 |
---|---|---|---|
media_key (default) | string | 展開されたメディアコンテンツの一意の識別子。 "media_key": "13_1263145212760805376" | プログラムでメディアを取得するために使用できます |
type (default) | string | コンテンツの種類(animated_gif、photo、video)。 "type": "video" | メディアを写真、GIF、または動画として分類します |
url | string | X 上のメディアファイルへの直接 URL。 | 写真については URL フィールドを持つ Media オブジェクトを返します |
duration_ms | integer | type が video の場合に利用可能。動画の長さ(ミリ秒)。 "duration_ms": 46947 | |
height | integer | このコンテンツの高さ(ピクセル)。 "height": 1080 | |
non_public_metrics | object | リクエスト時点におけるメディアコンテンツの非公開エンゲージメント metrics。ユーザー context 認証が必要です。 "non_public_metrics": { "playback_0_count": 1561, "playback_100_count": 116, "playback_25_count": 559, "playback_50_count": 305, "playback_75_count": 183,} | 動画の各四分位までの再生到達数を把握します。 |
organic_metrics | object | リクエスト時点におけるメディアコンテンツのオーガニック context でのエンゲージメント metrics。ユーザー context 認証が必要です。 "organic_metrics": { "playback_0_count": 1561, "playback_100_count": 116, "playback_25_count": 559, "playback_50_count": 305, "playback_75_count": 183, "view_count": 629} | オーガニックなメディアエンゲージメントを把握します。 |
preview_image_url | string | このコンテンツの静的なプレースホルダープレビュー画像への URL。 "preview_image_url": "https://pbs.twimg.com/media/EYeX7akWsAIP1_1.jpg" | |
promoted_metrics | object | リクエスト時点におけるメディアコンテンツのプロモーション context でのエンゲージメント metrics。ユーザー context 認証が必要です。 "promoted_metrics": { "playback_0_count": 259, "playback_100_count": 15, "playback_25_count": 113, "playback_50_count": 57, "playback_75_count": 25, "view_count": 124} | Tweet がプロモーションされた際のメディアエンゲージメントを把握します。 |
public_metrics | object | リクエスト時点におけるメディアコンテンツの公開エンゲージメント metrics。 "public_metrics": { "view_count": 6865141} | Tweet に添付された動画の総再生回数を把握します。 |
width | integer | このコンテンツの幅(ピクセル)。 "width": 1920 | |
alt_text | string | アクセシビリティを有効化・支援するための画像の説明。最大 1000 文字。現時点では Alt テキストは画像にのみ追加できます。 "alt_text": "Rugged hills along the Na Pali coast on the island of Kauai" | 視覚に障害のあるユーザー向けに、画像の説明文を提供できます。 |
variants | array | 各 media オブジェクトには、解像度や形式が異なる複数の表示・再生バリアントが存在する場合があります。 "variants": [{ "bit_rate": 632000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/1527322141724532740/pu/vid/320x568/lnBaR2hCqE-R_90a.mp4?tag=12"}] |
attachment.media_keys
の expansion が必要です。必ず、あなた自身が生成した Bearer Token で $BEARER_TOKEN
を置き換えてください。
Poll
?expansions=attachments.poll_ids
を使用して展開します。オブジェクトを補完するために追加の fields を要求する場合は、poll.fields
の field パラメータを併用してください。
Field value | Type | Description |
---|---|---|
id (default) | string | 展開された投票の一意の識別子。 |
{"id": "1199786642791452673"} | ||
options (default) | array | 参照された投票内の各選択肢を表すオブジェクトを含みます。 |
{"options": [ { "position": 1, "label": "“C Sharp”", "votes": 795 }, { "position": 2, "label": "“C Hashtag”", "votes": 156 } ]} | ||
duration_minutes | integer | この投票の合計期間を指定します。 |
{"duration_minutes": 1440} | ||
end_datetime | date (ISO 8601) | この投票の終了日時を指定します。 |
{"end_datetime": "2019-11-28T20:26:41.000Z"} | ||
voting_status | string | この投票が引き続き有効で投票を受け付けているか、または投票が終了しているかを示します。 |
{"voting_status": "closed"} |
attachments.poll_id
の expansions が必要です。$BEARER_TOKEN
は自身で生成した Bearer Token に必ず置き換えてください。
Place
?expansions=geo.place_id
を使用すると、デフォルトの fields のみを含む簡略オブジェクトとして展開されます。オブジェクトを完全な形で取得するために追加の fields が必要な場合は、place.fields
フィールドパラメータを併用してください。
Field value | Type | Description | How it can be used |
---|---|---|---|
full_name (default) | string | 詳細な形式の場所名。 | 特定の場所名で Tweet を分類する |
"full_name": "Manhattan, NY" | |||
id (default) | string | Tweet にタグ付けされた注目地点である場合、展開された場所の一意の識別子。 | これを使用してプログラムで場所を取得する |
"id": "01a9a39529b27f36" | |||
contained_within | array | 参照される場所を内包する既知の場所の識別子を返します。 | |
country | string | この場所が属する国の正式名称。 | 国名で Tweet を分類する |
"country": "United States" | |||
country_code | string | この場所が属する国の ISO Alpha-2 国コード。 | 国コードで Tweet を分類する |
"country_code": "US" | |||
geo | object | GeoJSON 形式で場所の詳細を含みます。 | |
`json | |||
”geo”: | |||
“type”: “Feature”, | |||
“bbox”: [ | |||
-74.026675, | |||
40.683935, | |||
-73.910408, | |||
40.877483 | |||
], | |||
“properties”: | |||
} | |||
` | |||
name | string | この場所の短い名称。 | 特定の場所名で Tweet を分類する |
"name": "Manhattan" | |||
place_type | string | この場所情報が表す情報の種類(都市名や注目地点など)を示します。 | 特定の種類の場所で Tweet を分類する |
"place_type": "city" |
geo.place_id
の expansion が必要です。必ず $BEARER_TOKEN
をご自身の Bearer Token に置き換えてください。
ダイレクトメッセージイベント
- sender_id - メッセージを送信したアカウント、またはグループ会話に参加者を招待したアカウントの ID
- participant_ids - アカウント ID の配列。ParticipantsJoin および ParticipantsLeave イベントでは、この配列にはイベントを作成したアカウントの単一の ID が含まれます
- attachments - 送信者によって X にアップロードされたコンテンツのメディア ID を提供します
- referenced_tweets - text フィールドに Tweet の URL が見つかった場合、その Tweet の ID がレスポンスに含まれます
Field value | Type | Description | How it can be used |
id (default) | string | イベントの一意の識別子。 “id”: “1050118621198921728” | これを使用して、特定の会話イベントをプログラムで取得します(v1.1 endpoint で利用可能)。 |
event_type (default) | string | イベントの種別を示します。現在サポートされているのは次の3種類です: * MessageCreate * ParticipantsJoin * ParticipantsLeave “event_type”: “MessageCreate” | 会話履歴の取得時に、メッセージが作成されたタイミングや、グループ会話では参加者が参加・退出したタイミングを把握するために使用します。すべての GET メソッドは、event_type= クエリパラメータを使った特定のイベントタイプでのフィルタリングをサポートします。 |
text (default) | string | ダイレクトメッセージの UTF-8 テキスト本体。 “text”: “Hello, just you!” | チャットボットでは、メッセージ内容を解析して自動応答を決定するのに使用できます。会話検索機能の構築にも利用できます。 |
entities | object | DM のテキストから解析されたエンティティ。 | ハッシュタグ、URL、メンションなどに関する追加情報を提供します。 |
sender_id | string | イベントを作成したユーザーの ID。レスポンスでこのオブジェクトを展開するには、拡張として sender_id を含め、関心のあるユーザーオブジェクト属性を指定するために user.fields クエリパラメータを使用します。 “sender_id”: “906948460078698496” | MessageCreate または ParticipantsJoin イベントの作成者のユーザーオブジェクトを取得します。 |
participant_ids | array (of strings) | グループ会話に参加・退出する参加者の ID。新しいグループ会話の作成時にも使用されます。レスポンスでこのオブジェクトを展開するには、拡張として participant_ids を含め、関心のあるユーザーオブジェクト属性を指定するために user.fields クエリパラメータを使用します。 “participant_ids”: [ “906948460078698496” ] | グループ会話に参加・退出する参加者のユーザーオブジェクトを取得するために使用します。 |
dm_conversation_id | string | イベントが属する会話の一意の識別子。 “dm_conversation_id”: “1584988213961031680” | これを使用して、会話からイベントをプログラムで取得したり、そこにダイレクトメッセージを追加したりできます。 |
created_at | date (ISO 8601) | Tweet の作成時刻(UTC)。 “created_at”: “2019-06-04T23:12:08.000Z” | このフィールドは、ダイレクトメッセージが作成された時刻や、会話参加者が参加・退出した時刻を把握するために使用できます。 |
referenced_tweets | array | ダイレクトメッセージ本文で言及された Tweet の ID。レスポンスでこのオブジェクトを展開するには、拡張として referenced_tweets.id を含め、関心のある Tweet オブジェクト属性を指定するために tweet.fields クエリパラメータを使用します。 “referenced_tweets”: [ “id”: “1578868150510456833” ] | ダイレクトメッセージが Tweet を参照している場合、これらの ID を使って Tweet の詳細を取得できます。 |
attachments | object | メディアが添付されたダイレクトメッセージの場合、アップロードされたコンテンツ(写真、動画、GIF)の media key を提供します。レスポンスでこのオブジェクトを展開するには、拡張として attachments.media_keys を含め、関心のあるメディアオブジェクト属性を指定するために media.fields クエリパラメータを使用します。現在は添付を1件のみサポートします。 “attachments”: “media_keys”: [ “3_1136048009270239232” ] | ダイレクトメッセージに添付されたメディアオブジェクトを把握するために使用します。 |
- 作成時刻やどの会話に属するか(dm_conversation)といった基本的なイベント属性
- ダイレクトメッセージ送信者のアカウント ID と説明
- 参照された Tweet のテキストとその投稿時刻
- 参照された Tweet の投稿者のアカウント ID と説明
?dm_event.fields=id,sender_id,text,created_at,dm_conversation_id&expansions=sender_id,referenced_tweets.id&tweet.fields=created_at,text,author_id&user.fields=description
コミュニティ
フィールド値 | 種別 | 説明 | |
---|---|---|---|
created_at | date (ISO 8601) | コミュニティの作成時刻。 | |
id | string | コミュニティの一意の識別子。 | |
name | string | コミュニティの名前。 | |
description | string | 提供されている場合は、コミュニティの説明文。 | |
access | string | コミュニティのアクセスレベル。 次のいずれか: | |
- Public | |||
- Closed | |||
join_policy | string | コミュニティの参加ポリシー。 次のいずれか: | |
- Open | |||
- RestrictedJoinRequestsDisabled | |||
- RestrictedJoinRequestsRequireAdminApproval | |||
- RestrictedJoinRequestsRequireModeratorApproval | |||
- SuperFollowRequired | |||
member_count | integer | コミュニティに参加しているメンバー数。 |
$BEARER_TOKEN
を自身で生成したBearer Tokenに置き換えてください。
fields と expansions の使い方
fields
と expansions
の query パラメータを使う方法を説明します。
本ガイドでは、以下の Tweet のスクリーンショットに含まれる複数の fields をリクエストします。

追加のfieldsとオブジェクトをリクエストする
- object modelを参照するか、各endpointのAPIリファレンスページに記載されたfieldsの一覧を確認して、リクエストで指定したい追加のfieldsを特定してください。 この場合、次の追加のfieldsをリクエストします: attachments、author_id、created_at、public_metrics。
-
上記のfieldsを値としてカンマ区切りで指定し、
tweet.fields
クエリパラメータを作成します:?tweet.fields=attachments,author_id,created_at,public_metrics
- 先ほど実行した GET /tweets リクエストに query パラメータを追加します。
curl --request GET --url 'https://api.x.com/2/tweets?ids=1260294888811347969&tweet.fields=attachments,author_id,created_at,public_metrics' \ --header 'Authorization: Bearer $BEARER_TOKEN'
レスポンス:
- 次に、Tweetに含まれている動画に関連するfieldsをリクエストします。そのために、
expansions
パラメータにattachments.media_keys
を値として指定し、リクエストに追加します。
- 最後に、動画の視聴回数と再生時間を取得します。これらはデフォルトのfieldsではないため、明示的にリクエストする必要があります。リクエストで
media.fields
パラメータを使用し、カンマ区切りの値としてpublic_metrics
とduration_ms
を指定してください。
curl --request GET --url 'https://api.x.com/2/tweets?ids=1260294888811347969&tweet.fields=attachments,author_id,created_at,public_metrics&expansions=attachments.media_keys&media.fields=duration_ms,public_metrics' --header 'Authorization: Bearer $BEARER_TOKEN'
Tweet のスクリーンショットで確認できる内容がすべて含まれるようになったレスポンス:
- ids=1260294888811347969
- tweet.fields=attachments,author_id,created_at,public_metrics
- expansions=attachments.media_keys
- media.fields=public_metrics,duration_ms