Pular para o conteúdo principal

Introdução ao endpoint de busca de Quote Tweets

Este guia de Introdução rápida ajudará você a fazer sua primeira solicitação aos endpoints de busca de Quote Tweets com um conjunto de fields especificados usando o Postman. Se você quiser ver exemplos de código em diferentes linguagens, visite nosso repositório no GitHub: X API v2 sample code

Pré-requisitos

Para concluir este guia, você precisará de um conjunto de chaves e tokens para autenticar sua solicitação. Você pode gerar essas chaves e tokens seguindo estas etapas: Etapas para criar uma solicitação de busca de Quote Tweets Etapa um: Comece com uma ferramenta ou biblioteca Há várias ferramentas, exemplos de código e bibliotecas que você pode usar para fazer uma solicitação a este endpoint, mas usaremos a ferramenta Postman aqui para simplificar o processo. Para carregar a coleção X API v2 no Postman no seu ambiente, clique no botão a seguir: Depois que a coleção X API v2 estiver carregada no Postman, navegue até a pasta timeline e encontre a solicitação “Quote Tweets by ID”. Etapa dois: Autentique sua solicitação Para fazer corretamente uma solicitação à X API, você precisa verificar se tem permissão. Para isso, com este endpoint, você deve autenticar sua solicitação com um dos métodos de autenticação OAuth 2.0 App-Only, OAuth 2.0 Authorization Code com PKCE ou Contexto de Usuário do OAuth 1.0a. Para simplificar, utilizaremos OAuth 2.0 App-Only nesta solicitação, mas você precisará usar um dos outros métodos de autenticação se quiser solicitar metrics privadas ou Posts. Você deve adicionar suas chaves e tokens, especificamente o App Access Token (também conhecido como App-only Bearer Token), ao Postman. Você pode fazer isso selecionando o ambiente chamado “X API v2” no canto superior direito do Postman e adicionando suas chaves e tokens nos campos “initial value” e “current value” (clicando no ícone de olho ao lado do menu suspenso de ambiente). Essa variável será automaticamente utilizada na guia de autorização da solicitação se você tiver feito isso corretamente. Etapa três: Identifique e especifique o Post para o qual deseja recuperar os Quote Tweets Você deve especificar um Post para o qual deseja recuperar Quote Tweets na solicitação, passando o ID do Post. Neste exemplo, o ID do Post que usaremos é 1409931481552543749. No Postman, navegue até a guia “Params” e insira esse ID do Post na coluna “Value” do parâmetro id.
KeyValue
id1409931481552543749
Etapa quatro: Identifique e especifique quais fields você deseja recuperar Se você clicar no botão “Send” após a etapa três, receberá os fields padrão do Objeto Post na sua resposta: id, text e edit_history_tweet_ids. Se você quiser receber fields adicionais, será necessário especificá-los na sua solicitação com os parâmetros fields e/ou expansions. Para este exercício, solicitaremos três conjuntos adicionais de fields de diferentes objetos:
  1. O field adicional tweet.created_at nos objetos de usuário primários.
  2. Os fields padrão do objeto de usuário dos autores associados para os Posts retornados: id, name e username
  3. O field adicional user.created_at nos objetos de usuário associados.
No Postman, navegue até a guia “Params” e adicione o seguinte par key:value à tabela “Query Params”:
ChaveValorCampos retornados
tweet.fieldscreated_attweets.created_at
expansionsauthor_idincludes.users.id, includes.users.name, includes.users.username
user.fieldscreated_atincludes.users.created_at
Agora você deve ver a seguinte URL ao lado do botão “Send”: https://api.x.com/2/tweets/:id/quote_tweets?expansions=author_id&tweet.fields=created_at&user.fields=created_at Observação: No Postman, o parâmetro de caminho :id no campo de URL não será atualizado automaticamente para o valor que você inserir no campo de parâmetros id; por isso, a URL acima inclui :id, e não 1409931481552543749. Etapa cinco: Faça sua solicitação e revise a resposta Depois que tudo estiver configurado, clique no botão “Send” para receber a seguinte resposta:
{
 "data": [
   {
     "created_at": "2022-02-22T04:31:34.000Z",
     "text": "RT @chris_bail: O X criou um curso completo (com vídeos, código e outros materiais) para ajudar pesquisadores a aprender como coletar dados…",
     "author_id": "29757971",
     "id": "1495979553889697792"
   },
   {
     "created_at": "2022-01-26T17:07:43.000Z",
     "text": "RT @suhemparack: Super empolgado em compartilhar nosso curso sobre Primeiros passos com a #TwitterAPI v2 para pesquisa acadêmica\n\nSe você conhece estudantes…",
     "author_id": "241588187",
     "id": "1486385372401737728"
   },
   {
     "created_at": "2022-01-11T17:28:04.000Z",
     "text": "RT @suhemparack: Super empolgado em compartilhar nosso curso sobre Primeiros passos com a #TwitterAPI v2 para pesquisa acadêmica\n\nSe você conhece estudantes…",
     "author_id": "24961055",
     "id": "1480954678447857669"
   },
   {
     "created_at": "2022-01-10T20:34:46.000Z",
     "text": "RT @suhemparack: Super empolgado em compartilhar nosso curso sobre Primeiros passos com a #TwitterAPI v2 para pesquisa acadêmica\n\nSe você conhece estudantes…",
     "author_id": "1441574419789324291",
     "id": "1480639272721940486"
   },
   {
     "created_at": "2021-12-16T22:55:24.000Z",
     "text": "RT @chris_bail: O X criou um curso completo (com vídeos, código e outros materiais) para ajudar pesquisadores a aprender como coletar dados…",
     "author_id": "1623598771",
     "id": "1471614967207976961"
   },
   {
     "created_at": "2021-12-13T15:59:55.000Z",
     "text": "RT @suhemparack: Super empolgado em compartilhar nosso curso sobre Primeiros passos com a #TwitterAPI v2 para pesquisa acadêmica\n\nSe você conhece estudantes…",
     "author_id": "1506401233",
     "id": "1470423243513372679"
   },
   {
     "created_at": "2021-12-10T02:02:45.000Z",
     "text": "RT @suhemparack: Super empolgado em compartilhar nosso curso sobre Primeiros passos com a #TwitterAPI v2 para pesquisa acadêmica\n\nSe você conhece estudantes…",
     "author_id": "40103034",
     "id": "1469125403373568001"
   },
   {
     "created_at": "2021-12-08T17:27:54.000Z",
     "text": "RT @suhemparack: Super empolgado em compartilhar nosso curso sobre Primeiros passos com a #TwitterAPI v2 para pesquisa acadêmica\n\nSe você conhece estudantes…",
     "author_id": "1436400156006567936",
     "id": "1468633446935318529"
   },
   {
     "created_at": "2021-09-15T21:40:24.000Z",
     "text": "RT @suhemparack: Super empolgado em compartilhar nosso curso sobre Primeiros passos com a #TwitterAPI v2 para pesquisa acadêmica\n\nSe você conhece estudantes…",
     "author_id": "81650379",
     "id": "1438256410417143809"
   },
   {
     "created_at": "2021-08-26T16:45:16.000Z",
     "text": "RT @suhemparack: Super empolgado em compartilhar nosso curso sobre Primeiros passos com a #TwitterAPI v2 para pesquisa acadêmica\n\nSe você conhece estudantes…",
     "author_id": "40462535",
     "id": "1430934381829492746"
   }
 ],
 "includes": {
   "users": [
     {
       "username": "j_a_tucker",
       "id": "29757971",
       "name": "Joshua Tucker",
       "created_at": "2009-04-08T16:45:38.000Z"
     },
     {
       "username": "whimchic",
       "id": "241588187",
       "name": "whimchic",
       "created_at": "2011-01-22T16:51:43.000Z"
     },
     {
       "username": "mattbiehl",
       "id": "24961055",
       "name": "Matthias Biehl",
       "created_at": "2009-03-17T21:41:27.000Z"
     },
     {
       "username": "weixinac",
       "id": "1441574419789324291",
       "name": "J",
       "created_at": "2021-09-25T01:25:19.000Z"
     },
     {
       "username": "RSangeleer",
       "id": "1623598771",
       "name": "Richard Sangeleer",
       "created_at": "2013-07-26T18:25:45.000Z"
     },
     {
       "username": "Gulnerman",
       "id": "1506401233",
       "name": "Giz Gulnerman",
       "created_at": "2013-06-11T20:13:40.000Z"
     },
     {
       "username": "efishman123",
       "id": "40103034",
       "name": "Elishema Fishman",
       "created_at": "2009-05-14T22:25:58.000Z"
     },
     {
       "username": "dtcxwz",
       "id": "1436400156006567936",
       "name": "Hüseyin Ateş",
       "created_at": "2021-09-10T18:44:30.000Z"
     },
     {
       "username": "brendaberkelaar",
       "id": "81650379",
       "name": "Dr. Brenda Berkelaar",
       "created_at": "2009-10-11T18:09:16.000Z"
     },
     {
       "username": "misoca",
       "id": "40462535",
       "name": "Michael Soto",
       "created_at": "2009-05-16T13:26:05.000Z"
     }
   ]
 },
 "meta": {
   "result_count": 10,
   "next_token": "avdjwk0udyx6"
 }
}

Etapa seis: paginar seus resultados

Na resposta anterior, você encontrará, ao final, um objeto meta que inclui os seguintes fields:
  • results_count
  • next_token
Na etapa quatro, como não especificamos o parâmetro max_results, receberemos apenas 10 Posts por padrão. Para acessar as páginas adicionais de data, vamos pegar o valor do campo next_token dos nossos últimos resultados e adicionar essa string como valor do parâmetro pagination_token na página de params do Postman, mantendo todo o restante inalterado. 
ChaveValor
pagination_tokenavdjwk0udyx6
Depois que tudo estiver configurado, você pode clicar em “Send” novamente e deverá receber a próxima página de resultados.  Preparamos um guia sobre paginação para explicar melhor esse conceito.
I