1
resposta

[Dúvida] Erro na função de obtenção de numero de páginas

Olá,

ao executar o código:

owner = 'amzn'
url_paginacao = 'https://api.github.com/users/OWNER'
response = requests.get(url_paginacao, headers=headers)
dict = response.json()
print(dict['public_repos'])

O resultado obtido é sempre 1. O que eu acredito estar errado para o projeto.

Ao modificar o endpoint para 'url_paginacao = 'https://api.github.com/users/{OWNER}' o json obtido é {'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest', 'status': '404'}

PS: Na documentação, consta que para obtermos as paginas, o endpoint é: 'https://api.github.com/repos/OWNER/REPO/pages' com OWNER sendo o nome do dono do repositório e REPO o nome do próprio repositório. Podem explicar?

1 resposta

Oii, Rafaella! Tudo bem?

O que está induzindo ao erro é o modo que a url foi construída, não está sendo substituído corretamente o valor da variável owner na url. A string 'https://api.github.com/users/OWNER' está estática, ou seja, a API entende que você está procurando um usuário chamado "OWNER", que não existe no GitHub e retorna o erro 404 - NOT FOUND

Uma sugestão seria reescrever o código da seguinte maneira:

import requests

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

response = requests.get(url)
response.json()

Deixo aqui o link do Google Colab usado para o teste e caso queira se orientar quanto ao código, pode clicar no botão verde escrito Ver opinião do instrutor e comparar com o seu código:

Espero que dê certo ao praticar também.

Bons estudos e até mais!