Pular para o conteúdo principal

Introdução ao endpoint de pesquisa de Spaces

Este guia de introdução rápida ajudará você a fazer sua primeira solicitação ao endpoint de pesquisa de Spaces com um conjunto de fields especificados usando o Postman. Se você quiser ver exemplos de código em diferentes linguagens de programação, visite nosso repositório do GitHub com exemplos de código da X API v2.
Pré-requisitosPara concluir este guia, você precisará ter 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 Spaces

Primeira etapa: comece com uma ferramenta ou biblioteca Há diversas ferramentas, exemplos de código e bibliotecas que você pode usar para fazer uma solicitação a este endpoint, mas aqui usaremos o Postman para simplificar o processo. Para carregar a coleção do X API v2 no seu ambiente do Postman, clique no botão a seguir: Depois que a coleção do X API v2 estiver carregada no Postman, navegue até a pasta Spaces e encontre a solicitação “Search Spaces”.   Segunda etapa: autentique sua solicitação Para fazer corretamente uma solicitação ao X API, você precisa verificar se tem permissão. Para isso, este endpoint exige que você autentique sua solicitação com OAuth 2.0 App-Only ou OAuth 2.0 Authorization Code com PKCE. 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 Spaces de um usuário privado.  Para utilizar OAuth 2.0 App-Only, 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 do ambiente). Essas variáveis serão automaticamente preenchidas na guia de autorização da solicitação se você tiver feito isso corretamente.   Terceira etapa: crie uma query de busca Este endpoint aceita texto como query de busca. Diferentemente de outros endpoints de busca, ele não aceita operadores, agrupamentos nem operadores lógicos. Para este exercício, usaremos “hello” como uma query simples. No Postman, navegue até a aba “Params” e insira este ID de usuário na coluna “Value” do parâmetro id.
KeyValue
queryhello
Quarta etapa: identifique e especifique quais fields você deseja recuperar Se você clicar no botão “Send” após a terceira etapa, receberá o ID do Space e seu estado, que são os únicos fields do objeto Space retornados por padrão na sua resposta. Se quiser receber fields adicionais, será preciso especificá-los na solicitação com os parâmetros space.fields ou expansions. Para este exercício, solicitaremos três conjuntos adicionais de fields de objetos diferentes:
  • O field adicional title no objeto Spaces principal.
  • O objeto de usuário completo do creator ID especificado.
  • O field adicional user.created_at no objeto de usuário associado.
No Postman, navegue até a aba “Params” e adicione o seguinte par chave:valor à tabela “Query Params”:
KeyValueReturned fields
space.fieldstitlecreator_id
expansionscreator_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/spaces/search?query=hello&space.fields=creator_id&expansions=creator_id&user.fields=created_at Quinta etapa: faça sua solicitação e revise sua resposta Depois que tudo estiver configurado, clique no botão “Send” e você receberá a seguinte resposta:
   "data": [
    {
        "creator_id": "2244994945",
        "id": "1zqKVXPQhvZJB",
        "title": "Olá, mundo 👋",
        "state": "Running"
   },
   "includes": {
       "users": [
           {
               "created_at": "2013-12-14T04:35:55.000Z",
               "name": "Twitter Dev",
               "id": "2244994945",
               "username": "TwitterDev"
           }
       ]
   }
]
}
I