Saltar al contenido principal
Con las expansions, los desarrolladores pueden ampliar los objetos referenciados en el payload. Los objetos disponibles para expansión se referencian por ID. Por ejemplo, los campos referenced_tweets.id y author_id devueltos en el payload de Posts lookup pueden ampliarse a objetos completos. Si deseas solicitar fields relacionadas con el usuario que publicó ese Post, o con el contenido multimedia, la encuesta o el lugar incluidos en ese Post, deberás pasar el parámetro de consulta expansions correspondiente en tu solicitud para recibir esos datos en tu respuesta. Actualmente, los endpoints v2 que devuelven Posts, Users, Lists, Spaces y objetos de eventos de Direct Message admiten expansions (consulta los ejemplos a continuación). Al incluir una expansion en tu solicitud, incluiremos los fields predeterminados de ese objeto expandido dentro de la misma respuesta. Esto ayuda a devolver data adicional en la misma respuesta sin necesidad de solicitudes por separado. Si deseas solicitar fields adicionales relacionados con el objeto expandido, puedes incluir el parámetro de fields asociado a ese objeto expandido, junto con una lista de fields separados por comas que deseas recibir en tu respuesta. Ten en cuenta que los fields no siempre se devuelven en el mismo orden en que se solicitaron en la consulta. El payload de Post a continuación contiene IDs de referencia para objetos complementarios que podemos ampliar, incluido el author_id de quien publicó el Post, el id de un Post referenciado y un media_key para un archivo multimedia adjunto.
{
    "data": {
        "attachments": {
            "media_keys": ["16_1211797899316740096"]
        },
        "author_id": "2244994945",
        "id": "1212092628029698048",
        "referenced_tweets": [
            {
                "type": "replied_to",
                "id": "1212092627178287104"
            }
        ],
        "text": "Creemos que la mejor versión futura de nuestra API vendrá de construirla CONTIGO. Un brindis por otro gran año con todos los que desarrollan en la plataforma de Twitter. Estamos ansiosos por seguir trabajando contigo en el nuevo año. https://t.co/yvxdK6aOo2"
    }
}

Expansions disponibles para cargas útiles de Post

ExpansionDescripción
author_idDevuelve un objeto de usuario que representa al autor del Post
referenced_tweets.idDevuelve un objeto de Post al que este Post hace referencia (ya sea como Retweet, Quoted Tweet o respuesta)
edit_history_tweet_idsDevuelve objetos de Post que forman parte del historial de edición del Post
in_reply_to_user_idDevuelve un objeto de usuario que representa al autor del Post al que responde el Post solicitado
attachments.media_keysDevuelve un objeto de medios que representa las imágenes, videos y GIF incluidos en el Post
attachments.poll_idsDevuelve un objeto de encuesta que contiene metadatos de la encuesta incluida en el Post
geo.place_idDevuelve un objeto de lugar que contiene metadatos de la ubicación etiquetada en el Post
entities.mentions.usernameDevuelve un objeto de usuario del usuario mencionado en el Post
referenced_tweets.id.author_idDevuelve un objeto de usuario del autor del Post referenciado

Expansión disponible para cargas útiles de usuario

ExpansiónDescripción
pinned_tweet_idDevuelve un objeto Post que representa el Post fijado en la parte superior del perfil del usuario

Expansions disponibles para las cargas útiles de eventos de Mensaje Directo

ExpansionDescripción
attachments.media_keysDevuelve un objeto Media adjunto a un Mensaje Directo
referenced_tweets.idDevuelve un objeto Post que se mencionó en un Mensaje Directo
sender_idDevuelve un objeto User que representa al autor de un Mensaje Directo y a quien invitó a un participante a unirse a una conversación
participant_idsDevuelve un objeto User que representa a un participante que se unió o abandonó una conversación

Expansions disponibles para los payloads de Spaces

ExpansionDescripción
invited_user_idsDevuelve objetos User que representan las cuentas que fueron invitadas
speaker_idsDevuelve objetos User que representan las cuentas que hablaron durante un Space
creator_idDevuelve un objeto User que representa la cuenta que creó el Space
host_idsDevuelve objetos User que representan las cuentas que se configuraron como anfitrionas
topics_idsDevuelve descripciones de temas configuradas por el creador

Expansiones disponibles para las cargas útiles de Listas

ExpansiónDescripción
owner_idDevuelve un objeto de tipo User que representa la cuenta que creó y mantiene la Lista

Expansión del objeto Media

En la siguiente solicitud, pedimos la expansión de geo.place_id para incluirla junto con los campos predeterminados de Post: Solicitud de ejemplo
{`curl 'https://api.x.com/2/tweets/:ID?expansions=geo.place_id' --header 'Authorization: Bearer $ACCESS_TOKEN'`}
Ejemplo de respuesta
{`{
  "data": {
      "geo": {
          "place_id": "01a9a39529b27f36"
      },
      "id": "ID",
      "text": "Test"
  },
  "includes": {
      "places": [
          {
              "full_name": "Manhattan, NY",
              "id": "01a9a39529b27f36"
          }
      ]
  }
}`}

Ampliación del objeto Poll

En la siguiente solicitud, pedimos la expansión attachments.poll_ids para incluirla junto con los campos predeterminados de Post: Solicitud de ejemplo Respuesta de ejemplo
{`{
  "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
                  }
              ]
          }
      ]
  }
}`}

Ampliación del objeto Place

En la siguiente solicitud, pedimos la expansión geo.place_id para incluirla junto con los campos predeterminados de Post: Solicitud de ejemplo Respuesta de ejemplo
{`{
  "data": {
      "geo": {
          "place_id": "01a9a39529b27f36"
      },
      "id": "ID",
      "text": "Test"
  },
  "includes": {
      "places": [
          {
              "full_name": "Manhattan, NY",
              "id": "01a9a39529b27f36"
          }
      ]
  }
}`}