Y es que a pesar de la cantidad de herramientas que existen (iDoceo, Additio, …) para llevar la gestión de calificaciones y tareas realizadas por el alumnado yo sigo prefiriendo una hoja de cálculos (normalmente Google Sheets) donde recopilar la información de las distintas herramientas y fuentes que utilizo a la hora de trabajar en clase (Github, Moodle, Ret{A2}, …)
En esta ocasión, quiero dejar constancia (a modo de «entremés») del modo de poder interactuar contra la REST API de Github para (en el ejemplo propuesto) añadir automáticamente colaboradores en un repositorio utilizando únicamente un formulario de Google y la autenticación usando Google Apps Script
Aunque la API de Github cuenta con una estupenda documentación la autenticación desde GScripts (o javaScript en general) es algo peculiar y cómo no he encontrado en Internet información para hacerlo pues me he animado a compartir esta pequeña reseña como base para futuros desarrollos (si no te puedes autenticar, poco vas a poder hacer).
Token de autenticación
Antes de meternos en faena, necesitamos un token que obtendremos desde nuestro perfil de Github.
Aquí nos explican cómo obtener el token de autenticación en Github pero básicamente consiste en
- Acceder a crear token de acceso en Github
- Indicar un nombre significativo al token
- Establecer qué permisos vamos a conceder a quien use dicho token de acceso
En mi caso, ha quedado del siguiente modo
Añadir colaboradores
Accedemos al editor de secuencias de comandos de nuestra hoja de cálculos como si de una macro «al uso» se tratase
Y utilizamos el siguiente fragmento de código (que te he subido a un gist para que te resulte más sencillo)
Deberás
- Pegar el token de Github que obtuvimos en el apartado anterior
- Indicar el repositorio en el que deseas gestionar la creación de colaboradores
- Especificar tu usuario de GitHub
Por último (y no menos importante) indica aquí el usuario que quieres añadir como colaborador (esto es un ejemplo sencillo, yo he metido una macro en la hoja de cálculos que me permite seleccionar las filas nuevas anotadas por el Google Forms y los añade como colaboradores automáticamente 😉)
Si quieres probarlo, sólo tienes que seleccionar la función prueba() y ejecutar 👍
Conclusión
Ejemplo completo para comprender el mecanismos de autenticación en Github desde JavaScript que ha sido usado para añadir automáticamente colaboradores a un repositorio desde Google Sheets.
Y tú…
- ¿Usas Google Apps Scripts?
- ¿Con qué lenguaje sueles «atacar» las APIs de Github?
- ¿Qué te parece la posibilidad de interactuar con otras plataformas desde Google Sheets?
- …