IIC2233-2016-1 / syllabus

Página principal del curso
32 stars 34 forks source link

Duda/error en el material de ayuda de la T07 #642

Closed JoseRomeroi closed 8 years ago

JoseRomeroi commented 8 years ago

Mi problema es que ejecuto el codigo tal cual nos lo dan en el material de ayuda:

url = "https://api.github.com/user/repos"
params = {
    "name": "dummy_repo",
    "description": "An example repo using GitHub API v3",
    "homepage": "{}.github.io".format(credentials[0]),
    "private": False,
    "has_issues": True,
    "has_wiki": False,
    "has_downloads": False,
    "auto_init": False
}
req = requests.post(url, data=json.dumps(params), auth=credentials)

print(req.status_code)
print_pretty(req.json())

Y he intentado todo y me tira constantemente el error:

404
{
    "documentation_url": "https://developer.github.com/v3",
    "message": "Not Found"
}

Por mas que trato de leerme la documentacion(POST /user/repos), mi mal manejo del ingles no me permite saber que estoy haciendo mal. Ayuda

aaossa commented 8 years ago
  1. No es un error en el material
  2. Prueba viendo cual es la url de la request (req.url)
JoseRomeroi commented 8 years ago

@aaossa hice esto: response = requests.get(url) print(response.json())

me responde esto: {'documentation_url': 'https://developer.github.com/v3', 'message': 'Requires authentication'}

revise la documentacion y dice que "Para autenticarnos basta con enviar nuestras credenciales en cada solicitud que hagamos, por lo que conviene tenerlas en una variable" el unico cambio que hice, fue que credentials lo defini de esta manera:

credentials = ("joseromeroi", "a54fed70fb022d9....")

abulnes1 commented 8 years ago

tengo el mismo problema! no me deja avanzar porque me tira siempre 404

JoseRomeroi commented 8 years ago

Ya se que tenia mal, al momento de crear mi token, no le habia dado niun permiso. Ahora los active todos y pude. https://github.com/settings/tokens @abulnes1 edita tu token y dale todos los permisos

aaossa commented 8 years ago

También hay que usar:

response = requests.get(url, auth=credentials)

Deben pasarle sus credenciales de autenticación