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

Olá estou tendo erro 404

Boa noite consegui ciar o repositório , porém na hora de fazer uploads dos arquivos da erro 404

meu código :

import requests

import base64

class ManipulaRepositorios :
    

    def __init__(self, username):
        self.username = username
        self.api_base_url = 'https://api.github.com'
        self.access_token = 'aqui esta correto :)'
        self.headers = {'Authorization': 'Bearer ' + self.access_token,
                        'X-GitHub-Api-Version': '2022-11-28'}
    def cria_repo(self,nome_repo):

        data = {
            "name": nome_repo,
            "description": "Dados dos repositórios de algumas empresas",
            "private": False
        }
        
        response = requests.post(f"{self.api_base_url}/user/repos",
                                 json=data, headers= self.headers)
        
        print(f'status_code criação do repositório: {response.status_code}')

    def add_arquivo(self, nome_repo, nome_arquivo, caminho_arquivo): 
        
        #Codificando arquivo
        with open(caminho_arquivo ,"rb") as file:
            file_content = file.read()
        encoded_content = base64.b64encode(file_content) 

        #realizando upload
        url = f"{self.api_base_url}/repos/{self.username}/{nome_repo}/contents/{nome_arquivo}"
        data = {
            "message": "Adicionando um novo arquivo",
            "content": encoded_content.decode("utf-8")
        }

        response = requests.put(url,json=data ,headers= self.headers)
        print(f'status_code upload do arquivo: {response.status_code}')    

# Instaciando um novo objeto 

novo_repo = ManipulaRepositorios('AContesini')  

# Criando o repositório 
nome_repo = 'linguagens-repositório-empresas'

novo_repo.cria_repo(nome_repo)

#adicionando arquivos a repositórios criados 


novo_repo.add_arquivo(nome_repo, 'linguagens_amzn.csv', 'dados/linguagens_amzn.csv')
novo_repo.add_arquivo(nome_repo,'linguagens_netflix.csv','dados/linguagens_netflix.csv')
novo_repo.add_arquivo(nome_repo, 'linguagens_spotify.csv', 'dados/linguagens_spotify.csv')

o caminho para os arquivos é para estar correto e os nomes também

os erros :

(venv) adria:/mnt/d/Alura/Eng_Dados/Python_E_APIS/projeto_Requests$ python3 manipula_repos.py

status_code criação do repositório: 422 => acredito que aqui por que ja exista o repositório

status_code upload do arquivo: 404

status_code upload do arquivo: 404

status_code upload do arquivo: 404

5 respostas

refiz o código , troquei o token ,segui essa dica o Igor

Igor Leonel | 211.8k xp | 47 posts 2 meses atrás Erro 404 corrigido. O token gerado não estava com as opções de 'repo' marcadas e 'delete:packages'. deletei o repositório para testar mas não obtive resultados , na hora de fazer upload dos arquivos Insira aqui a descrição dessa imagem para ajudar na acessibilidade mas estou tentando buscar uma solução :)

amigo, ainda tá com erros? se tiver a solução ou algo próximo disso, passe aqui?

Erro 404 ainda esta persistindo não encontrei solução ainda : /

Olá Adriano, tudo bem? Espero que sim!

Depois de muitos testes, acabei descobrindo que o nome do repositório que você colocou está com acento : nome_repo = 'linguagens-repositório-empresas' em repositÓrio.

Dessa maneira o nome do repositório fica bugado e não consegue ser acessado para fazer o carregamento dos arquivos:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Coloque um nome sem acento para o repositório e tente novamente. Tenha certeza de que está usando um token com acesso a criar e deletar repositórios e execute pelo terminal do ambiente virtual. Qualquer dúvida estou à disposição. Bons estudos!

solução!

solucionado , não percebi o acento , pois da primeira vez que digitei código devo ter criado 'linguagens-repositório-empresas' , por que depois refis e não estava conseguindo , também ai deletei e recomecei , muito obrigado João Vitor de Miranda , me salvou kkk Insira aqui a descrição dessa imagem para ajudar na acessibilidade