Configurar un proyecto de Apps Script para llamar a la API de Google Forms directamente a través de una llamada a REST requiere algunos pasos. Si ya configuraste un proyecto de Google Cloud, haz lo siguiente:
- Crea un nuevo proyecto de Apps Script.
- Cambia el número de proyecto de Google Cloud asociado para que coincida con el proyecto que habilitaste para la API de Forms.
- Edita el archivo de manifiesto (
appsscript.json) para agregar los permisos de OAuth necesarios. - Agrega código de Apps Script para recuperar un token de OAuth y realizar una llamada a REST con el token.
Crea y configura un nuevo proyecto de Apps Script
- Con la misma Cuenta de Google que usaste para configurar tu proyecto de Google Cloud, ve al Panel de Apps Script y, luego, haz clic en Proyecto nuevo.
- Una vez que se abra el proyecto, haz clic en Configuración del proyecto.
- Selecciona la casilla de verificación Mostrar el archivo de manifiesto "appsscript.json" en el editor.
- En la sección Proyecto de Google Cloud Platform (Google Cloud), haz clic en Cambiar proyecto y, luego, ingresa el número del proyecto de Google Cloud que configuraste para la API de Forms.
Tu proyecto de Apps Script ya está configurado para acceder a la API de Forms. El siguiente paso obligatorio es agregar los permisos de OAuth adecuados.
Agrega permisos de OAuth
Para generar un token de OAuth con el alcance adecuado en Apps Script, debes establecer los alcances requeridos en el archivo de manifiesto del proyecto.
- En el editor, abre
appsscript.json. Agrega los permisos al cuerpo del manifiesto.
{ ... "oauthScopes": [ "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/forms.body", "https://www.googleapis.com/auth/forms.body.readonly", "https://www.googleapis.com/auth/forms.responses.readonly" ], ... }Haz clic en Save project y corrige los errores de sintaxis si es necesario. Ahora tu proyecto debería poder llamar a la API de Forms con una llamada de REST.
Agrega código de Apps Script para llamar a la API
Antes de escribir el código para llamar a un formulario, debes identificar un formulario de tu propiedad que tenga respuestas y anotar su ID. El ID del formulario se puede encontrar en la URL cuando editas el formulario:
https://docs.google.com/forms/d/<FORM_ID>/edit
Para llamar a la API, usarás una llamada UrlFetchApp de Apps Script.
Abre Code.gs y agrega el siguiente código:
Reemplaza
YOUR_FORM_IDpor el valor que anotaste antes.Ejemplo:
var formId = 'tL5ygBC8zpbTnTp76JCZdIg80hA-cnpbTnTjnsewCKJH';Haz clic en Save project y corrige los errores de sintaxis si es necesario.
Prueba el código
- Haz clic en Ejecutar.
- Autoriza el proyecto según sea necesario con la misma Cuenta de Google que antes.
Una vez que comience, deberías ver una respuesta en el Registro de ejecución similar a esta:
Execution started
Calling the Forms API!
OAuth token is: ya29.a0ARrdaM8IMjtlv…
formsAPIUrl is: https://forms.googleapis.com/v1beta/forms/…/responses
Response from Forms.responses was: {
"responses": [
{
"responseId":"...",
"createTime": "2021-03-25T01:23:58.146Z",
"lastSubmittedTime": "2021-03-25T01:23:58.146607Z",
"answers": {
"1e9b0ead": {
"questionId": "1e9b0ead",
"textAnswers": {
"answers": [
{
"value": "Red"
}
]
}
},
"773ed8f3": {
"questionId": "773ed8f3",
"textAnswers": {
"answers": [
{
"value": "Tesla"
}
]
}
}
}
}
]
}
Execution completed
Próximos pasos
Una vez que hayas llamado correctamente a la API con Apps Script, consulta la documentación de referencia y experimenta con otras llamadas a la API.