メインコンテンツへスキップ
expansions を使用すると、開発者はペイロード内で参照されているオブジェクトを展開できます。展開可能なオブジェクトは ID によって参照されます。たとえば、Posts lookup のペイロードで返される referenced_tweets.id および author_id fields は、完全なオブジェクトに展開できます。特定の Post を投稿したユーザー、またはその Post に含まれるメディア、投票、場所に関連する fields を取得したい場合は、レスポンスで該当の data を受け取れるよう、リクエストに関連する expansion の query パラメータを指定する必要があります。現在、Posts、Users、Lists、Spaces、Direct Message のイベントオブジェクトを返す v2 の endpoint は、いずれも expansions をサポートしています(以下の例を参照)。 リクエストに expansion を含めると、同一のレスポンス内にその展開されたオブジェクトのデフォルト fields を含めて返します。これにより、別個のリクエストを行うことなく、同一レスポンスで追加の data を取得できます。展開されたオブジェクトに関連する追加の fields を取得したい場合は、その展開対象オブジェクトに対応する field パラメータと、レスポンスで受け取りたい fields のカンマ区切りリストを併せて指定してください。なお、fields は必ずしも query で指定した順序で返されるとは限りません。 以下の Post のペイロードには、展開可能な補助オブジェクトに対する参照 ID が含まれています。これには、Post を投稿したユーザーの author_id、参照されている Post の id、およびメディア添付のための media_key が含まれます。
{
    "data": {
        "attachments": {
            "media_keys": ["16_1211797899316740096"]
        },
        "author_id": "2244994945",
        "id": "1212092628029698048",
        "referenced_tweets": [
            {
                "type": "replied_to",
                "id": "1212092627178287104"
            }
        ],
        "text": "私たちは、皆様と共に構築することで、APIの最高の将来バージョンが実現すると信じています。Xプラットフォーム上で開発される皆様との素晴らしい一年に乾杯。新年も皆様と共に取り組みを続けることを楽しみにしています。https://t.co/yvxdK6aOo2"
    }
}

Post ペイロードで利用可能な expansions

ExpansionDescription
author_idPost の作成者を表す ユーザーオブジェクト を返します
referenced_tweets.idこの Post が参照している(リツイート、引用 Tweet、または返信としての) Post オブジェクトを返します
edit_history_tweet_idsPost の編集履歴に含まれる Post オブジェクトを返します
in_reply_to_user_idこの要求された Post が返信している相手の Post 作成者を表す ユーザーオブジェクト を返します
attachments.media_keysPost に含まれる画像、動画、GIF を表す メディアオブジェクト を返します
attachments.poll_idsPost に含まれる投票の metadata を含む 投票オブジェクト を返します
geo.place_idPost にタグ付けされた場所の metadata を含む プレイスオブジェクト を返します
entities.mentions.usernamePost で言及されたユーザーの ユーザーオブジェクト を返します
referenced_tweets.id.author_id参照されている Post の作成者の ユーザーオブジェクト を返します

ユーザーペイロードで利用可能なエクスパンション

Expansion説明
pinned_tweet_idユーザーのプロフィールの先頭にピン留めされた Post を表す Post オブジェクトを返します

ダイレクトメッセージイベントのペイロードで利用可能な expansions

Expansion説明
attachments.media_keysダイレクトメッセージに添付された Media オブジェクトを返します
referenced_tweets.idダイレクトメッセージで参照された Post オブジェクトを返します
sender_idダイレクトメッセージの作成者であり、会話への参加に参加者を招待したユーザーを表す User オブジェクトを返します
participant_ids会話に参加または退出した参加者を表す User オブジェクトを返します

Spaces ペイロードで利用可能な expansions

Expansion説明
invited_user_ids招待されたアカウントを表すユーザーオブジェクトを返します
speaker_idsSpace で発言したアカウントを表すユーザーオブジェクトを返します
creator_idSpace を作成したアカウントを表すユーザーオブジェクトを返します
host_idsホストとして設定されたアカウントを表すユーザーオブジェクトを返します
topics_idsクリエイターが設定したトピックの説明を返します

List ペイロードで利用可能な拡張

ExpansionDescription
owner_idList を作成および管理しているアカウントを表すユーザーオブジェクトを返します

Media オブジェクトの拡張

以下のリクエストでは、デフォルトの Post fields に加えて、geo.place_id の expansion を含めるよう指定しています。 サンプルリクエスト
{`curl 'https://api.x.com/2/tweets/:ID?expansions=geo.place_id' --header 'Authorization: Bearer $ACCESS_TOKEN'`}
サンプル応答
{`{
  "data": {
      "geo": {
          "place_id": "01a9a39529b27f36"
      },
      "id": "ID",
      "text": "テスト"
  },
  "includes": {
      "places": [
          {
              "full_name": "Manhattan, NY",
              "id": "01a9a39529b27f36"
          }
      ]
  }
}`}

Poll オブジェクトの拡張

次のリクエストでは、デフォルトの Post の fields に加えて、attachments.poll_ids の expansions をリクエストします。 サンプルリクエスト サンプルレスポンス
{`{
  "data": {
      "attachments": {
          "poll_ids": ["1199786642468413448"]
      },
      "id": "1199786642791452673",
      "text": "C#"
  },
  "includes": {
      "polls": [
          {
              "id": "1199786642468413448",
              "options": [
                  {
                      "position": 1,
                      "label": ""C Sharp"",
                      "votes": 795
                  },
                  {
                      "position": 2,
                      "label": ""C Hashtag"",
                      "votes": 156
                  }
              ]
          }
      ]
  }
}`}

Place オブジェクトの拡張

次のリクエストでは、デフォルトの Post の fields に加えて含めるために、geo.place_id の expansions を指定しています。 サンプルリクエスト サンプルレスポンス
{`{
  "data": {
      "geo": {
          "place_id": "01a9a39529b27f36"
      },
      "id": "ID",
      "text": "テスト"
  },
  "includes": {
      "places": [
          {
              "full_name": "Manhattan, NY",
              "id": "01a9a39529b27f36"
          }
      ]
  }
}`}
I