Apps Script menentukan cakupan otorisasi (seperti akses ke file Google Spreadsheet atau Gmail Anda) secara otomatis, berdasarkan pemindaian kode. Kode yang
dikomentari masih dapat membuat permintaan otorisasi. Jika skrip memerlukan
otorisasi, Anda akan melihat salah satu dialog otorisasi yang ditampilkan di sini saat skrip
dijalankan.
Skrip yang sebelumnya telah Anda beri otorisasi juga meminta otorisasi tambahan jika perubahan kode menambahkan layanan baru. Skrip mungkin tidak meminta otorisasi jika Anda mengakses skrip sebagai aplikasi web yang berjalan di bawah identitas pengguna pemilik skrip.
Mencabut hak akses
Untuk mencabut akses skrip ke data Anda, ikuti langkah-langkah berikut:
Buka halaman
izin
untuk Akun Google Anda. (Untuk membuka halaman ini di masa mendatang, buka Google.com, lalu
klik foto akun Anda di pojok kanan atas layar. Selanjutnya, klik
Akun Saya, lalu Aplikasi & situs yang terhubung di bagian
"Login & keamanan", lalu Kelola Aplikasi.)
Klik nama skrip yang ingin Anda batalkan otorisasinya, lalu
klik Hapus di sebelah kanan, lalu Oke di dialog yang muncul.
Izin dan jenis skrip
Identitas pengguna yang menjalankan skrip — dan dengan demikian data yang dapat diaksesnya —
berbeda-beda berdasarkan skenario saat skrip dijalankan, seperti yang ditunjukkan dalam tabel
di bawah.
Cakupan otorisasi manual untuk Spreadsheet, Dokumen, Slide, dan Formulir
Jika Anda membuat add-on atau skrip lain yang
menggunakan layanan Spreadsheet,
layanan Dokumen,
layanan Slide, atau
layanan Formulir, Anda dapat memaksa dialog
otorisasi untuk meminta akses hanya ke file tempat add-on atau skrip digunakan,
bukan semua spreadsheet, dokumen, atau formulir pengguna. Untuk melakukannya, sertakan anotasi JsDoc berikut dalam komentar tingkat file:
/***@OnlyCurrentDoc*/
Anotasi yang berlawanan, @NotOnlyCurrentDoc, tersedia jika skrip Anda
menyertakan library yang mendeklarasikan
@OnlyCurrentDoc, tetapi skrip utama sebenarnya memerlukan akses ke lebih dari
file saat ini.
Siklus proses otorisasi untuk add-on
Add-on untuk Google Spreadsheet, Dokumen, Slide, dan Formulir
umumnya mengikuti model otorisasi yang sama dengan skrip yang
terikat ke dokumen. Namun, dalam keadaan tertentu, fungsi onOpen(e) dan onEdit(e) mereka berjalan dalam mode tanpa otorisasi yang menimbulkan beberapa komplikasi tambahan. Untuk mengetahui informasi selengkapnya, lihat
panduan siklus proses otorisasi add-on.
Batas pengguna aplikasi OAuth
Aplikasi yang menggunakan OAuth untuk mengakses data pengguna Google, termasuk project Apps Script, tunduk pada batas otorisasi. Lihat
Batas pengguna aplikasi OAuth
untuk mengetahui detailnya.
Perilaku Autentikasi Ulang dengan Apps Script
Apps Script tidak menerapkan
frekuensi autentikasi ulang yang Anda
konfigurasi di setelan Layanan Google Cloud Anda. Hal ini karena
Apps Script dapat berjalan secara otomatis menggunakan pemicu, yang beroperasi
tanpa interaksi pengguna langsung. Eksekusi otomatis ini tidak memicu
prompt autentikasi ulang. Aplikasi Apps Script Anda tidak akan
secara otomatis meminta Anda untuk melakukan autentikasi ulang setelah jangka waktu yang telah Anda tentukan
(misalnya, 12 jam).
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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)."]]