Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

401 para a nova API

estou tentando conectar no endpoint, no entanto estou tomando o erro de não autorizado, mas no curso, esta indicando que não necessito de um bearer token valido, poderiam me auxiliar?

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeSegue o código executado

from datetime import datetime, timedelta
import os
import json
import requests

time_zone = datetime.now().astimezone().tzname()
TIMESTAMP_FORMAT = "%Y-%m-%dT%H:%M:%S.00Z"
end_time = datetime.now().strftime(TIMESTAMP_FORMAT)
start_time = (datetime.now() + timedelta(-1)).date().strftime(TIMESTAMP_FORMAT)
query = "data science"

tweet_fields = 'tweet.fields=author_id, conversation_id, created_at, id, in_reply_to_user_id, public_metrics, lang, text'
user_fields = 'expansions=author_id&user.fields=id, name, username, created_at'

url_raw = f"https://api.twitter.com/2/tweets/search/recent?query={query}&{tweet_fields}&{user_fields}&start_time={start_time}&end_time={end_time}"

bearer_token = os.environ.get("BEARER_TOKEN")
headers = {"Authorization": "Bearer {}".format(bearer_token)}

response = requests.request(method="GET", url=url_raw, headers=headers)
json_response = response.json()

print(json.dumps(json_response, indent=4, sort_keys=True))
3 respostas

Olá, Josimar!

A API do twitter mudou a política de acesso, você consegue seguir o curso normalmente utilizando uma API alternativa indicada nas atividades anteriores. Para isso basta substituir o url_raw por esse link:

url_raw = f"https://labdados.com/2/tweets/search/recent?query={query}&{tweet_fields}&{user_fields}&start_time={start_time}&end_time={end_time}"

Espero que resolva!

solução!

A Marina Silveira já tinha respondido e eu não tinha visto, desculpa.

Muito obrigado Mariana = )


Olá Josimar, tudo bem com você ? Espero que sim.

Você está certo não é mais necessário ter um bearer token valido, mas é necessário trocar para a nossa nova URL.

https://api.twitter.com/ ------> por https://labdados.com/

Então no seu código você precisa, trocar o valor da variável url_raw :

url_raw = f"https://labdados.com/2/tweets/search/recent?query={query}&{tweet_fields}&{user_fields}&start_time={start_time}&end_time={end_time}"

Com essa modificação você terá acesso a nossa API alternativa.

Isso deve resolver o erro, mas qualquer duvida não hesite em perguntar.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Obrigado Marina!!! Obrigado Igor!!