Los usuarios deben autorizar los complementos y otras aplicaciones que accedan a sus datos. o actuar en su nombre. Cuando un usuario ejecuta un complemento por primera vez, la IU del complemento presenta un mensaje de autorización para iniciar el flujo de autorización.
Durante este flujo, el mensaje le dice al usuario lo que quiere la aplicación permiso para hacer. Por ejemplo, es posible que un complemento quiera permiso para leer una mensaje de correo electrónico de un usuario o crear eventos en su calendario. El proyecto de secuencia de comandos del complemento define estos permisos individuales como alcances de OAuth.
Declaras los alcances en tu manifiesto
con cadenas de URL. Durante el flujo de autorización, Apps Script presenta un
descripción del alcance legible por humanos. Por ejemplo, tu complemento de Google Workspace
podría usar el mensaje "Leer el mensaje actual" permiso, que está escrito en tu manifiesto como
https://www.googleapis.com/auth/gmail.addons.current.message.readonly
Durante
el flujo de autorización, un complemento con este alcance le solicita al usuario que le permita hacer lo siguiente: Ver tus mensajes de correo electrónico cuando se esté ejecutando.
Cómo ver los permisos
Para ver los alcances que requiere actualmente tu proyecto de secuencia de comandos, haz lo siguiente:
- Abre el proyecto de secuencia de comandos.
- A la izquierda, haz clic en Descripción general .
- Consulta los alcances en "Alcances de OAuth del proyecto".
También puedes ver los alcances actuales del proyecto de secuencia de comandos en el manifiesto del proyecto, debajo del campo oauthScopes
, pero solo si configuraste esos alcances de forma explícita.
Cómo configurar permisos explícitos
Apps Script determina automáticamente qué alcances necesita una secuencia de comandos a través de un análisis de su código en busca de llamadas a función que los requieran. Para la mayoría de las secuencias de comandos, esto es suficiente y te ahorra tiempo, pero para los complementos publicados, debes ejercer un control más directo de los alcances.
Por ejemplo, Apps Script podría otorgarle a un proyecto de secuencia de comandos de complemento el permiso https://mail.google.com
muy permisivo de forma predeterminada. Cuando un usuario autoriza una secuencia de comandos
proyecto con este permiso, se le otorga acceso completo a la cuenta de Gmail del usuario
de servicio predeterminada. En el caso de los complementos publicados, debes reemplazar este permiso por un conjunto más limitado que cubra las necesidades de los complementos y nada más.
Puedes establecer de forma explícita los alcances que usa tu proyecto de secuencia de comandos editando
su archivo de manifiesto. El campo del manifiesto
oauthScopes
es un array.
de todos los alcances que usa el complemento. Para configurar los permisos de tu proyecto, haz lo siguiente:
lo siguiente:
- Consulta los permisos que usa actualmente tu complemento. Determina qué cambios se deben realizar, como usar un alcance más estrecho.
- Abre el archivo de manifiesto de tu complemento.
- Localiza el campo de nivel superior etiquetado como
oauthScopes
. Si no está presente, puedes agregarlo. La
oauthScopes
especifica un array de cadenas. Para configurar los permisos usa tu proyecto, reemplaza el contenido de este array con los permisos que que quieres que use. Por ejemplo, para un complemento de Google Workspace que extiende Gmail, podrías tener lo siguiente:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/gmail.addons.current.message.metadata", "https://www.googleapis.com/auth/userinfo.email" ], ... }
Guarda los cambios en el archivo de manifiesto.
Verificación de OAuth
El uso de ciertos permisos de OAuth sensibles puede requerir que el complemento pase por una verificación de cliente de OAuth antes de que puedas publicarlo. Si deseas obtener más información, consulta las siguientes guías:
- Verificación de clientes de OAuth para Apps Script
- Apps sin verificar
- Preguntas frecuentes sobre la verificación de OAuth
- Política de Datos del Usuario del Servicio de las APIs de Google
Permisos restringidos
Algunos permisos están restringidos y están sujetos a reglas adicionales que ayudan a proteger los datos del usuario. Si deseas publicar un complemento de Gmail o Editor que use uno o más permisos restringidos, el complemento debe cumplir con todas las restricciones especificadas antes de que se pueda publicar.
Revisa la lista completa de permisos restringidos. antes de intentar publicarlo. Si tu complemento usa alguno de ellos, debes cumplir con los requisitos adicionales para alcances de API específicos antes de publicarlo.
Permisos del calendario
A continuación, se muestran los permisos de uso frecuente para los complementos de Google Workspace que extienden Calendario de Google.
Alcance | |
---|---|
Accede a los metadatos de eventos |
https://www.googleapis.com/auth/calendar.addons.execute
Obligatorio si el complemento accede a los metadatos de eventos del Calendario. Permite que el complemento acceda a los metadatos del evento. |
Cómo leer datos de eventos generados por el usuario |
https://www.googleapis.com/auth/calendar.addons.current.event.read
Obligatorio si el complemento necesita leer datos de eventos generados por el usuario.
Permite que el complemento acceda a datos de eventos generados por el usuario. Estos datos son
solo están disponibles si el
Campo de manifiesto |
Cómo escribir datos de eventos generados por el usuario |
https://www.googleapis.com/auth/calendar.addons.current.event.write
Obligatorio si el complemento necesita escribir datos de eventos generados por el usuario.
Permite que el complemento edite los datos de eventos generados por el usuario. Estos datos solo están disponibles si el campo de manifiesto |
Permisos de Drive
A continuación, se muestran los permisos de uso frecuente para los complementos de Google Workspace que extienden Google Drive.
Alcance | |
---|---|
Lee los metadatos del elemento seleccionado |
https://www.googleapis.com/auth/drive.addons.metadata.readonly
Es obligatorio si el complemento implementa una interfaz contextual que se activa cuando el usuario selecciona elementos en Drive. Permite que el complemento lea metadatos limitados sobre los elementos que un usuario seleccionó en Google Drive. Los metadatos se limitan al ID del elemento, título, tipo de MIME, URL del ícono y si el complemento tiene permiso para acceder al elemento. |
Acceso por archivo |
https://www.googleapis.com/auth/drive.file
Recomendado si el complemento necesita acceder a Drive de forma individual
.
Otorga acceso individualizado a los archivos que crea o abre la app con el Servicio avanzado de Drive de Apps Script. Sin embargo, esto no permite el uso de acciones similares con el servicio de Drive básico. La autorización de archivos se otorga por archivo y se
se revoca cuando el usuario desautoriza la app. |
Permisos de los complementos de Gmail
Hay algunos permisos que se crearon específicamente para los complementos de Google Workspace para ayudar a proteger los datos de Gmail del usuario. Debes agregar estos permisos de forma explícita al manifiesto del complemento, junto con cualquier otro del código del complemento.
A continuación, se muestran los permisos de uso frecuente para los complementos de Google Workspace que extienden Gmail. los que tienen la etiqueta Obligatorio deben agregarse Manifiesto del complemento de Google Workspace si tu complemento extiende Gmail
Asegúrate de reemplazar también el amplio alcance https://mail.google.com
en tu
con un conjunto más limitado de alcances que permiten interacciones.
y nada más.
Alcance | |
---|---|
Crear borradores nuevos |
https://www.googleapis.com/auth/gmail.addons.current.action.compose
Es obligatorio si el complemento usa Redactar activadores de acciones. Permite que el complemento cree temporalmente nuevos mensajes de borradores y respuestas. Consulta Redactar borradores de mensajes para conocer los detalles. este alcance también se usa a menudo acciones de redacción. Se requiere un token de acceso. |
Cómo leer metadatos de mensajes abiertos |
https://www.googleapis.com/auth/gmail.addons.current.message.metadata
Otorga acceso temporal a los metadatos del mensaje abierto (como el
asunto o destinatarios). No permite leer el contenido de los mensajes y requiere un token de acceso. Obligatorio si el complemento usa metadatos en la acción de redacción activadores. Para acciones de composición, este permiso es obligatorio si se trata de un activador de composición necesita acceso a los metadatos. En la práctica, este permiso permite que un elemento de composición active el acceso a las listas de destinatarios (para:, cc: y ccp:) de un borrador de correo electrónico de respuesta. |
Leer el contenido del mensaje abierto |
https://www.googleapis.com/auth/gmail.addons.current.message.action
Otorga acceso al contenido del mensaje abierto cuando el usuario interactúa como cuando se selecciona un elemento de menú complementario. Requiere un token de acceso. |
Lee el contenido de una conversación abierta |
https://www.googleapis.com/auth/gmail.addons.current.message.readonly
Otorga acceso temporal a los metadatos y el contenido del mensaje abierto. También otorga acceso al contenido de otros mensajes en la conversación. Se requiere un token de acceso. |
Leer el contenido y los metadatos de cualquier mensaje |
https://www.googleapis.com/auth/gmail.readonly
Leer los metadatos y el contenido de los correos electrónicos, incluido el mensaje abierto Es obligatorio si necesitas leer información sobre otros mensajes, por ejemplo, cuando realizas una búsqueda o lees una conversación de correo electrónico completa. |
Tokens de acceso
Para proteger los datos del usuario, los permisos de Gmail utilizados en
Los complementos de Google Workspace solo otorgan acceso
acceso temporal a los datos del usuario. Para habilitar el acceso temporal, debes llamar al
función GmailApp.setCurrentMessageAccessToken(accessToken)
con un token de acceso como argumento. Debes obtener un token de acceso de un
objeto de evento de acción.
A continuación, se muestra un ejemplo de configuración de un token de acceso para permitir el acceso a
los metadatos de un mensaje. El único permiso necesario para este ejemplo es https://www.googleapis.com/auth/gmail.addons.current.message.metadata
.
function readSender(e) {
var accessToken = e.gmail.accessToken;
var messageId = e.gmail.messageId;
// The following function enables short-lived access to the current
// message in Gmail. Access to other Gmail messages or data isn't
// permitted.
GmailApp.setCurrentMessageAccessToken(accessToken);
var mailMessage = GmailApp.getMessageById(messageId);
return mailMessage.getFrom();
}
Alcances del editor
A continuación, se muestran los permisos de uso frecuente para los complementos de Google Workspace que extienden Documentos, Hojas de cálculo y Presentaciones.
Alcance | |
---|---|
Acceso actual a archivos de Documentos |
https://www.googleapis.com/auth/documents.currentonly
Es obligatorio si el complemento accede a la API de Documentos de Apps Script. Otorga acceso temporal al contenido del documento abierto. |
Acceso a archivos de Hojas de cálculo actuales |
https://www.googleapis.com/auth/spreadsheets.currentonly
Es obligatorio si el complemento accede a la API de Hojas de cálculo de Apps Script. Otorga acceso temporal al contenido de la hoja de cálculo abierta. |
Acceso actual a archivos de Presentaciones |
https://www.googleapis.com/auth/presentations.currentonly
Obligatorio si el complemento accede a la API de Presentaciones de Apps Script. Otorga acceso temporal al contenido de la presentación abierta. |
Acceso por archivo |
https://www.googleapis.com/auth/drive.file
Obligatorio para que el complemento use |
Otros alcances
Es posible que tu complemento requiera permisos adicionales si usa otros servicios de Apps Script. En la mayoría de los casos, puedes permitir que Apps Script detecte estos alcances y actualizar el el manifiesto automáticamente. Cuando edites la lista de alcances de tu manifiesto, no quites ningún alcance, a menos que lo reemplaces por una alternativa más apropiada, como un alcance más estrecho.
A modo de referencia, aquí hay una lista de ámbitos de Apps Script que se usan a menudo en en conjunto con los complementos de Google Workspace:
Alcance | |
---|---|
Leer la dirección de correo electrónico del usuario |
https://www.googleapis.com/auth/userinfo.email
Permite que el proyecto lea la dirección de correo electrónico del usuario actual. |
Permite llamadas a servicios externos |
https://www.googleapis.com/auth/script.external_request
Permite que el proyecto realice solicitudes |
Leer la configuración regional y la zona horaria del usuario |
https://www.googleapis.com/auth/script.locale
Permite que el proyecto conozca la configuración regional y la zona horaria del usuario actual. Consulta Acceso a la configuración regional y la zona horaria del usuario para obtener más información. |
Crear activadores |
https://www.googleapis.com/auth/script.scriptapp
Permite que el proyecto cree activadores. |
Vista previa de vínculos de terceros |
https://www.googleapis.com/auth/workspace.linkpreview
Obligatorio si el complemento muestra vistas previas de vínculos de un servicio de terceros. Permite que el proyecto vea un vínculo en una aplicación de Google Workspace mientras el usuario interactúa con ella. Para obtener más información, consulta Obtén una versión preliminar de los vínculos con chips inteligentes. |
Crea recursos de terceros |
https://www.googleapis.com/auth/workspace.linkcreate
Obligatorio si el complemento crea recursos en un servicio de terceros. Permite que el proyecto lea la información que envían los usuarios el formulario de creación de recursos y insertar un vínculo al recurso en una aplicación de Google Workspace Para obtener más información, consulta Crea recursos de terceros desde el menú @. |