25
loading...
This website collects cookies to deliver better user experience
App
. Para isso, clique em Create New Project
e depois preencha as informações necessárias para a criação do projeto e de um App
dentro do projeto. Após preencher todo o formulário você será apresentado a uma tela com as chaves de autenticação da sua aplicação, essas são necessárias durante a conexão com a API.from decouple import config
import requests
import json
.env
e dentro dele adicionaremos a seguinte informação.BEARERTOKEN=ValorDoSeuBearerToken
.py
.bearer_token = config('BEARERTOKEN')
bearer_token
agora estará o valor de seu Bearer Token.def set_autenticacao(objeto_para_auth):
"""
Método que acrescenta, no objeto da busca, um cabeçalho correspondente a autenticação do request.
"""
objeto_para_auth.headers["Authorization"] = f"Bearer {bearer_token}"
return objeto_para_auth
search_url = "https://api.twitter.com/2/tweets/search/recent"
str_busca = f'to:{perfil} {chave_busca} lang:{lingua}'
query_params = {'query': str_aux,'tweet.fields': 'attachments,author_id,created_at,lang,public_metrics,source','max_results':limite_tweets}
search_url
recebe o endpoint que será usado (você pode ler um pouco mais sobre os endpoints disponíveis clicando aqui). Ademais, a variável str_busca recebe a string de busca que será aplicada, no caso do exemplo a busca será por tweets enviados para um perfil, contendo uma chave de busca e escritos em uma língua específica, outros filtros de busca podem ser vistos aqui. Já o query-params
, recebe a string de busca, os campos que estarão presentes nas respostas (veja mais opções clicando aqui) e o número de tweets retornados na busca."""
Abaixo realizamos o request que usa os parâmetros
search url para defnir o endpoint,
auth para determinar o nosso bearer token como autenticação baseado na função anterior
params que usa a string de parâmetros
"""
response = requests.get(search_url, auth=set_autenticacao, params=query_params)
# Testa se a resposta foi bem sucedida
if response.status_code != 200:
raise Exception(response.status_code, response.text)
# Converte a resposta para json
r = response.json()
# Imprime a resposta
print(json.dumps(r, indent=4, sort_keys=True))