ngVenezuela / site-ngvenezuela

:earth_americas: Sitio web de ngVenezuela...
https://www.ngvenezuela.org.ve
GNU General Public License v2.0
7 stars 3 forks source link

Crear servicio de comunicación con API de Github #12

Open Villanuevand opened 9 years ago

Villanuevand commented 9 years ago

Se necesita crear un servicio de comunicación con la API de Github el cual tenga las siguientes funcionalidades:

  1. Obtener Información completa de repositorios.
  2. Obtener información de los TEAMS de la comunidad y sus miembros.
  3. Obtener información de pefil de cada miembros de la comunidad.

Esta información es requerida para una de las secciones de nuestro sitio web. Cualquier otra información adicional, que sea requerida puede ser consultada por este issue.

abr4xas commented 9 years ago

Temprano estaba revisando la API y no vi información relacionada con los miembros, quizás no hice bien la búsqueda o la estaba haciendo mal 😂de igual manera voy a ver que invento para ayudar en este punto.

Villanuevand commented 9 years ago

Perfecto @abr4xas, yo estoy ya desarrollando algo, pero para validar los teams de las organizaciones se necesita un token... y ahí quedé... :confused: Puedes ir viendo lo que he hecho acá, para que tengas una idea...

FreakDroid commented 9 years ago

Hola Gente buenos días, Ahorita es que me puse a echarle un ojo a todo el proyecto, revisando acá http://fabian-kostadinov.github.io/2015/01/16/how-to-find-a-github-team-id/ explican como generar el Token, no se si es el mismo y no se si resulte, pero con el token se puede obtener el ID y se hace las peticiones al API, de igual forma haré unos test y aviso al rato.

Edit:

Hice un update con lo que dice el tutorial y bueno me arrojó esto:

C:\Users\wilfredo>curl -H "Authorization: token cd04f5a71304648c9a907b9caa28c35d 68e526fe" https://api.github.com/orgs/ngVenezuela/teams { "message": "Must have admin rights to Repository.", "documentation_url": "https://developer.github.com/v3" }

Creo que es porque no formo parte de la organización.

Villanuevand commented 9 years ago

@FreakDroid ya te estamos agregando como colaborador para que continues con las pruebas...

FreakDroid commented 9 years ago

Gracias, en lo que pueda hago pruebas.

Villanuevand commented 9 years ago

Seguro @FreakDroid gracia a tí por contribuir...

FreakDroid commented 9 years ago

Luego de hacer test, llegue a la conclusión de que para ver los teams y la info de los mismo se necesita el token (cosa que ya sabemos o por lo menos @Villanuevand tenia conocimiento) y ese token lo genera un usuario de github que tenga acceso a la organización como alguno de nosotros. Los pasos para la generación del mismo están en el link que coloqué arriba.

El tema esta que para mostrar toda la info que se quiere, debemos crear un usuario de solo lectura o algo similar, añadirlo a la org y colocar el token generado en el header del requests. Lo único malo que veo es que ese token estará público y si alguien debugea el JS, puede ver el mismo y hacer acciones sobre algunas cosas de la organización.

Ejemplo del request:

var peticion = $http({ method : 'GET', url : gh.BASE+gh.REPOS headers : {'Authorization': 'token -your token here-'} });

No se que vuelta se le puede dar a esto, que no sea complicada.

Saludos panas.

Villanuevand commented 9 years ago

Hola @FreakDroid es así, necesitamos un lenguaje de servidor para hacer la petición y retornar los datos... @abr4xas Está analizando que lenguaje será. Muchas gracias por contribuir.

FreakDroid commented 9 years ago

Fino de igual forma, veré porque hay unos wrappers hechos en nodejs que se podría usar. De igual forma cuando se tenga avisen a ver en que puedo ayudar.

abr4xas commented 9 years ago

Hola, Creo que la otra vez quedamos de acuerdo en usar nodejs... Ahora bien, que información se necesita específicamente para usar el token? Estaba haciendo unas pruebas con lo que hizo Andrés y funciona bien, extrae los valores que hasta el momento necesitamos.

De igual manera, dejen que termine de adelantar unas cosas de un trabajo que tengo pendiente para cuadrar si nos reunimos por hangout y hablamos de esto :)

Villanuevand commented 9 years ago

Es correcto @abr4xas quedamos en usar node.js pero lo hablamos no lo sentamos oficialmente, ni se lo comunicamos al equipo. Queda muy pendiente este tema, y el de la reunión para discutir los puntos para la realización del sitio. El dominio lo tenemos desde hace algún tiempo y es ngvenezuela.org.ve

Para el desarrollo del sitio, usaremos Node.js cómo lenguaje de servidor.

Esta incidencia queda abierta, hasta que se desarrolle, el servicio que consumirá la data proveida por Node.

+Fin del Comunicado+ xD

FreakDroid commented 9 years ago

Hola gente, bueno acá dejo algo con lo que he probado del wrapper api de github para node Info Acá y bueno me creé un un servicio pequeño para probar en node con express 4.0 el cual esta acá. Por ahora solo tengo el método getFollowingFromUser, y esta fuera de una petición get pero es un pequeño paso, lo que busco es su feedback para ver como se mejora y aprender mucho mas.

Saludos.

P;D: Soy naab en node.

abr4xas commented 8 years ago

Que hacemos con esta incidencia, la cerramos o la dejamos abierta? Actualmente la web está activa usando pelican y está viviendo en gh-pages por lo tanto sugiero cerrar esto.