Pular para o conteúdo principal
Os endpoints da X API v2 contam com um conjunto de parâmetros chamados de fields, que permitem selecionar somente os dados desejados de cada objeto na resposta do endpoint. Por padrão, o Objeto Post retorna apenas os campos id e text e, para Posts criados a partir de 29 de setembro de 2022, o campo edit_history_tweet_ids. Se você precisar da data de criação do Post ou de métricas públicas, será necessário usar o parâmetro tweet.fields para solicitá-las. Isso oferece um grau maior de personalização, permitindo solicitar apenas os fields necessários de acordo com seu caso de uso. Por exemplo, você incluiria esta string de query na sua requisição: ?tweet.fields=created_at,public_metrics Cada objeto tem seu próprio parâmetro, usado para solicitar especificamente os fields associados a esse objeto. Estes são os parâmetros de fields atualmente disponíveis:
  • Posttweet.fields
  • Useruser.fields
  • Mediamedia.fields
  • Pollpoll.fields
  • Placeplace.fields
Ao usar um endpoint que retorna principalmente um objeto específico, use o parâmetro de field correspondente e especifique os field(s) desejado(s) em uma lista separada por vírgulas como valor desse parâmetro para recuperar esses fields na resposta.

Exemplo

Se você estiver usando o endpoint GET /tweets/search/recent, receberá principalmente objetos Tweet nessa resposta. Sem especificar nenhum parâmetro fields, você receberá apenas os valores padrão, id e text. Se estiver interessado em receber as metrics públicas dos Posts retornados na resposta, inclua o parâmetro tweet.fields na sua solicitação, com public_metrics definido como valor. Essa solicitação seria como a seguir. Se quiser utilizá-la, certifique-se de substituir $BEARER_TOKEN pelo seu Bearer Token e enviá-la usando sua ferramenta de linha de comando.
curl --request GET \
  --url 'https://api.x.com/2/tweets/search/recent?query=from%3Atwitterdev&tweet.fields=public_metrics' \
  --header 'Authorization: Bearer $BEARER_TOKEN'
Se você enviar esta solicitação no terminal, cada um dos Posts retornados incluirá os seguintes fields:
{
   "data": {
       "id": "1263150595717730305",
       "public_metrics": {
           "retweet_count": 12,
           "reply_count": 14,
           "like_count": 49,
           "quote_count": 7
       },
       "text": "Você 👀 nossas novas configurações de Tweet?\n\nQueremos saber como e por que você usaria um recurso como este na API. Veja os detalhes e conte o que você achou👇\nhttps://t.co/RtMhhfAcIB https://t.co/8wxeZ9fJER"
   }
}
Se você quiser obter um conjunto de fields de um objeto secundário associado ao objeto primário retornado por um endpoint, será necessário incluir um parâmetro adicional de expansions. Por exemplo, se você estivesse usando o mesmo endpoint GET search/tweets/recent mencionado anteriormente e quisesse obter a descrição do perfil do autor, será preciso enviar expansions=author_id e user.fields=description na sua solicitação. Veja um exemplo de como isso ficaria. Se quiser testar essa solicitação, certifique-se de substituir $BEARER_TOKEN pelo seu Bearer Token antes de colá-la na sua ferramenta de linha de comando.
  curl --request GET \
  --url 'https://api.x.com/2/tweets/search/recent?query=from%3Atwitterdev&tweet.fields=public_metrics&expansions=author_id&user.fields=description' \
  --header 'Authorization: Bearer $BEARER_TOKEN'
Se você especificar isso na solicitação, cada um dos Posts entregues terá os seguintes fields, e os fields padrão e especificados do objeto de usuário serão retornados em includes. O objeto de usuário pode ser associado ao(s) Post(s) correspondente(s) fazendo a correspondência entre tweet.author_id e o field users.id.
{
  "data": [
    {
      "id": "1263150595717730305",
      "author_id": "2244994945",
      "text": "Você 👀 nossas novas configurações de Tweet?\n\nQueremos saber como e por que você usaria um recurso como este na API. Confira os detalhes e diga o que acha👇\nhttps://t.co/RtMhhfAcIB https://t.co/8wxeZ9fJER",
      "public_metrics": {
        "retweet_count": 12,
        "reply_count": 13,
        "like_count": 51,
        "quote_count": 7
      }
    }
  ],
  "includes": {
    "users": [
      {
        "id": "2244994945",
        "username": "TwitterDev",
        "description": "A voz da equipe #TwitterDev e sua fonte oficial de atualizações, notícias e eventos relacionados à #TwitterAPI.",
        "name": "Twitter Dev"
      }
    ]
  }
}
Tenha em mente que não é possível solicitar subfields específicos (por exemplo, public_metrics.retweet_count). Todos os subfields serão retornados quando o field de nível superior (public_metrics) for especificado. Listamos todos os fields que você pode solicitar na tabela de parâmetros da página de referência da API de cada endpoint. Uma lista completa de fields está disponível no modelo de objeto. Para obter e solicitar fields em um objeto que não é o recurso principal daquele endpoint, use o parâmetro expansions junto com fields.
I