Apps Script determina automáticamente los permisos de autorización (como el acceso a tus archivos de Hojas de cálculo de Google o Gmail) en función de un análisis del código. El código que se comenta aún puede generar una solicitud de autorización. Si una secuencia de comandos necesita autorización, verás uno de los diálogos de autorización que se muestran aquí cuando se ejecute.
Los secuencias de comandos que autorizaste anteriormente también solicitan autorización adicional si un cambio de código agrega servicios nuevos. Es posible que las secuencias de comandos no soliciten autorización si accedes a ellas como una app web que se ejecuta con la identidad de usuario del propietario de la secuencia de comandos.
Cómo revocar derechos de acceso
Para revocar el acceso de una secuencia de comandos a tus datos, sigue estos pasos:
Visita la página de permisos de tu Cuenta de Google. (Para navegar a esta página en el futuro, visita Google.com y, luego, haz clic en la foto de tu cuenta en la esquina superior derecha de la pantalla. A continuación, haz clic en Mi cuenta, luego en Apps y sitios conectados en la sección "Acceso y seguridad" y, por último, en Administrar apps.
Haz clic en el nombre de la secuencia de comandos cuya autorización deseas revocar, luego, haz clic en Quitar a la derecha y, luego, en Aceptar en el diálogo resultante.
Permisos y tipos de secuencias de comandos
La identidad del usuario con la que se ejecuta una secuencia de comandos, y, por lo tanto, los datos a los que puede acceder, varían según la situación en la que se ejecuta la secuencia de comandos, como se muestra en la siguiente tabla.
Permisos de autorización manuales para Hojas de cálculo, Documentos, Presentaciones y Formularios
Si compilas un complemento o cualquier otro código que use el servicio de Hojas de cálculo, el servicio de Documentos, el servicio de Presentaciones o el servicio de Formularios, puedes forzar el diálogo de autorización para que solo solicite acceso a los archivos en los que se usa el complemento o el código, en lugar de a todas las hojas de cálculo, documentos o formularios de un usuario. Para ello, incluye la siguiente anotación JsDoc en un comentario a nivel del archivo:
/***@OnlyCurrentDoc*/
Hay una anotación opuesta, @NotOnlyCurrentDoc, disponible si tu secuencia de comandos incluye una biblioteca que declara @OnlyCurrentDoc, pero la secuencia de comandos principal en realidad requiere acceso a más que el archivo actual.
Ciclo de vida de la autorización de complementos
Los complementos para Hojas de cálculo, Documentos, Presentaciones y Formularios de Google generalmente siguen el mismo modelo de autorización que las secuencias de comandos vinculadas a un documento. Sin embargo, en ciertas circunstancias, sus funciones onOpen(e) y onEdit(e) se ejecutan en un modo sin autorización que presenta algunas complicaciones adicionales. Para obtener más información, consulta la guía del ciclo de vida de la autorización de complementos.
Límites de usuarios de la aplicación de OAuth
Las aplicaciones que usan OAuth para acceder a los datos de los usuarios de Google, incluidos los proyectos de Apps Script, están sujetas a límites de autorización. Consulta los límites de usuarios de aplicaciones OAuth para obtener más detalles.
Comportamiento de reautenticación con Apps Script
Apps Script no aplica la frecuencia de reautenticación que configuras en los parámetros de configuración de los servicios de Google Cloud. Esto se debe a que Apps Script puede ejecutarse automáticamente con activadores, que funcionan sin interacción directa del usuario. Estas ejecuciones automáticas no activan las indicaciones para volver a autenticarse. Tu aplicación de Apps Script no te pedirá automáticamente que te vuelvas a autenticar después del período que especificaste (por ejemplo, 12 horas).
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-31 (UTC)"],[[["\u003cp\u003eApps Script requires user authorization to access private data from Google services, and requests are based on code analysis.\u003c/p\u003e\n"],["\u003cp\u003eUsers can revoke a script's access to their data through their Google Account permissions settings.\u003c/p\u003e\n"],["\u003cp\u003eA script's access level and the user it runs as depends on the type of script and how it's executed, like standalone, add-on, or web app.\u003c/p\u003e\n"],["\u003cp\u003eFor scripts interacting with Google Workspace files, specific annotations can limit authorization requests to the current file only.\u003c/p\u003e\n"],["\u003cp\u003eAdd-ons generally adhere to the authorization model of bound scripts, with exceptions for certain functions and circumstances.\u003c/p\u003e\n"]]],[],null,["# Authorization for Google Services\n\nApps Script requires user authorization to access private data from\n[built-in Google services](/apps-script/guides/services) or\n[advanced Google services](/apps-script/guides/services/advanced).\n\nGranting access rights\n----------------------\n\nApps Script determines the authorization scopes (like access your Google Sheets\nfiles or Gmail) automatically, based on a scan of the code. Code that is\ncommented out can still generate an authorization request. If a script needs\nauthorization, you'll see one of the authorization dialogs shown here when it is\nrun.\n\nScripts that you have previously authorized also ask for additional\nauthorization if a code change adds new services. Scripts may not request\nauthorization if you access the script as a web app that runs under\n[the script owner's user identity](/apps-script/execution_web_apps#permissions).\n| **Warning:** Web apps and other scripts that use sensitive scopes are subject to review by Google. Users attempting to authorize such apps may see a warning screen saying the app is *unverified* by Google. See [OAuth client verification](/apps-script/guides/client-verification) for details.\n\nRevoking access rights\n----------------------\n\nTo revoke a script's access to your data, follow these steps:\n\n1. Visit the [permissions](https://security.google.com/settings/security/permissions) page for your Google account. (To navigate to this page in the future, visit [Google.com](https://www.google.com), then click your account picture in the top-right corner of the screen. Next, click **My Account** , then **Connected apps \\& sites** under the \"Sign-in \\& security\" section, and then **Manage Apps**.)\n2. Click the name of the script whose authorization you want to revoke, then click **Remove** on the right, then **OK** in the resulting dialog.\n\nPermissions and types of scripts\n--------------------------------\n\nThe user identity that a script runs with --- and thus the data it can access ---\nvaries based on the scenario in which the script is run, as shown in the table\nbelow.\n\n| Type of script | Script runs as... |\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Standalone](/apps-script/execution_script_editor), [add-on](/workspace/add-ons/overview), or [bound to Docs, Sheets, Slides, or Forms](/apps-script/guides/bound) | User at the keyboard |\n| [Custom function in a spreadsheet](/apps-script/execution_custom_functions) | [Anonymous user](/apps-script/execution_custom_functions#permissions); however, [quota limits](/apps-script/guides/services/quotas) count against user at the keyboard |\n| [Web app](/apps-script/execution_web_apps) or [Google Sites gadget](/apps-script/execution_gadgets) | User at the keyboard or script owner, dependent on [options selected](/apps-script/execution_web_apps#permissions) when deploying the app |\n| [Installable trigger](/apps-script/understanding_triggers#Installable) | User who created the trigger |\n\nManual authorization scopes for Sheets, Docs, Slides, and Forms\n---------------------------------------------------------------\n\nIf you're building an [add-on](/workspace/add-ons/overview) or other script that\nuses the [Spreadsheet service](/apps-script/reference/spreadsheet),\n[Document service](/apps-script/reference/document),\n[Slides service](/apps-script/reference/slides), or\n[Forms service](/apps-script/reference/forms), you can force the authorization\ndialog to ask only for access to files in which the add-on or script is used,\nrather than all of a user's spreadsheets, documents, or forms. To do so, include\nthe following [JsDoc](https://jsdoc.app/) annotation in a file-level comment: \n\n /**\n * @OnlyCurrentDoc\n */\n\nAn opposing annotation, `@NotOnlyCurrentDoc`, is available if your script\nincludes a [library](/apps-script/guides/libraries) that declares\n`@OnlyCurrentDoc`, but the master script actually requires access to more than\nthe current file.\n\nAuthorization lifecycle for add-ons\n-----------------------------------\n\n[Add-ons](/workspace/add-ons/overview) for Google Sheets, Docs, Slides, and Forms\ngenerally follow the same authorization model as scripts that are\n[bound](/apps-script/guides/bound) to a document. In certain\ncircumstances, however, their `onOpen(e)` and `onEdit(e)` functions run in a\nno-authorization mode that presents some additional complications. For more\ninformation, see the\n[guide to the add-ons authorization lifecycle](/workspace/add-ons/concepts/addon-authorization#editor_add-on_authorization).\n\nOAuth application user limits\n-----------------------------\n\nApplications that use OAuth to access Google user data, including Apps\nScript projects, are subject to authorization limits. See\n[OAuth application user limits](https://support.google.com/cloud/answer/9028764)\nfor details.\n\nRe-authentication Behavior with Apps Script\n-------------------------------------------\n\nApps Script does not enforce the\n[re-authentication frequency](https://support.google.com/a/answer/9368756) that you\nconfigure in your Google Cloud Services settings. This is because\nApps Script can run automatically using triggers, which operate\nwithout direct user interaction. These automated executions don't trigger the\nre-authentication prompts. Your Apps Script application won't\nautomatically ask you to re-authenticate after the time period you've specified\n(for example, 12 hours)."]]