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

Identificar por meio de um commit

E se eu quisesse por exemplo, adicionar uma informação de texto que informasse que foi uma importação utilizando request com metodo post

eu deveria utilizar um dicionário?


import requests 

api_base_url = 'https://api.github.com'
owner = 'amzn'
repo = 'golang-gitoperations'

url = f'{api_base_url}/repos/{owner}/{repo}/forks'
url
 
 access_token = 'meu token aqui'
headers = {'Authorization': 'Bearer ' + access_token,
           'X-GitHub-Api-Version': '2022-11-28'}

data = dict(name='projeto com go', description='Repositorio importado da amzn, com intuito de testar o metodo post da biblioteca request', private=True)

response = requests.post(url,  json = data, headers=headers)
response.status_code
2 respostas
solução!

Oi Estevão, tudo bem?

Pelo que entendi, você deseja adicionar uma mensagem de texto para informar que foi uma importação utilizando o método POST da biblioteca requests, certo?

Sim, você está correto ao pensar em usar um dicionário para isso. No seu caso, você já está fazendo isso ao definir a variável data. Este dicionário é enviado como corpo da sua requisição POST.

Aqui está o trecho de código relevante:

data = dict(name='projeto com go', description='Repositorio importado da amzn, com intuito de testar o metodo post da biblioteca request', private=True)

response = requests.post(url,  json = data, headers=headers)

No dicionário data, você está definindo três campos: name, description e private. O campo description é onde você pode adicionar a informação de texto que você mencionou. Você já está fazendo isso ao definir description como 'Repositorio importado da amzn, com intuito de testar o metodo post da biblioteca request'.

Porém, é importante notar que a maneira como essa informação será exibida ou utilizada depende da API que você está usando. No caso da API do GitHub que você está usando, a descrição do repositório será exibida na página do repositório.

Espero ter ajudado.

Um abraço e bons estudos.

Na documentação anexada "Body parameters" são citados: (https://docs.github.com/en/rest/repos/forks?apiVersion=2022-11-28#create-a-fork)

organization string Optional parameter to specify the organization name if forking into an organization.

name string When forking from an existing repository, a new name for the fork.

default_branch_only boolean When forking from an existing repository, fork with only the default branch.

data = {
    'name': 'Fazendo Fork na Amazon via API GitHub',
    'organization': 'Amazon',
    'default_branch_only': True
}

Tentei passá-los através de um dicionário usando o 'data' e não consegui. r = requests.post(url, headers = headers, data = data)

A request funcionou sem 'data', mas não funciona passando esse parâmetro. Onde errei?