5
respostas

Erro 401

Assim como nos dois tópicos acima, também estou recebendo esse erro. Consigo rodar a paginação com sucesso, o que me pareceria confirmar que minha autenticação teve sucesso. Ao acessar minhas chaves token no meu usuário no GitHub, no entanto, ela diz que nunca houve utilização da chave.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
5 respostas

Oii Iratã, tudo bem contigo?

Você poderia copiar e colar aqui no fórum a parte do seu código que está gerando o erro, por favor?

Assim eu tento executar ele aqui no meu ambiente pra tentar te ajudar a identificar o erro :)

Claro:

import requests
import pandas as pd

access_token = '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'
headers = {'Authorization': 'Bearer' + access_token,
           'X-GitHub-Api-Version': '2022-11-28'}

api_base_url = 'https://api.github.com'
owner = 'amzn'
url = f'{api_base_url}/users/{owner}/repos'
url_2 = 'https://api.github.com/user/repos'

repos_list = []
for page_num in range(1, 6):
    try:
        url_page = f'{url}?page={page_num}'
        response = requests.get(url_page, headers=headers)
        print(response)
        repos_list.append(response.json())
    except:
        repos_list.append(None)

repos_name = []
for page in repos_list:
    for repo in page:
        repos_name.append(repo['name'])

repos_language = []
for page in repos_list:
    for repo in page:
        repos_language.append(repo['language'])

dados_amz = pd.DataFrame()
dados_amz["repository_name"] = repos_name
dados_amz['language'] = repos_language
dados_amz.to_csv('amazon.csv')

print(len(dados_amz))
print(dados_amz.head())

data = dict(name='linguagens-utilizadas', description='Repositorio com linguagens de prog da Amazon', private=True)
print(data)

response_2 = requests.post(url_2, json=data, headers=headers)

print(response_2.status_code)

print(response_2)

Esse monte de print sou eu tentando achar erros.

Oii Iratã!

Executei seu código aqui utilizando meu token e acredito que identifiquei o problema :)

No cabeçalho "headers" falta adicionar um espaço depois da palavra Bearer:

headers = {'Authorization': 'Bearer ' + access_token,
           'X-GitHub-Api-Version': '2022-11-28'}

Este pequeno detalhe pode passar despercebido, mas é crucial. Isso não causou problemas na paginação porque o GitHub permite um número limitado de requisições sem autenticação. Contudo, para criar repositórios, a autenticação é essencial.

E vale destacar que para você conseguir criar o repositório, é muito importante que no momento da criação do token no GitHub você tenha marcado o escopo "repo", conforme faço no vídeo Autenticação.

Espero que isso ajude. Qualquer dúvida estou por aqui.

Bons estudos!

Oi Milena, obrigado pela ajuda. Ao adicionar o espaço depois da palavra Bearer agora o código de erro que recebo é 422. O Token tem marcado o escopo "repo" sim. Me certifiquei disso.

Oii Iratã!

Normalmente o erro 422 aparece quando você está tentando criar um repositório com o mesmo nome de um repositório já existente.

Confira nos seus repositórios do GitHub se você já possui algum repositório com o nome "linguagens-utilizadas". Caso possua, faça a exclusão dele e execute o código novamente.

Qualquer coisa me sinaliza aqui :)