Pengguna harus mengizinkan project skrip yang mengakses data mereka atau bertindak atas nama mereka. Saat pengguna menjalankan skrip yang memerlukan otorisasi untuk pertama kalinya, UI akan menampilkan perintah untuk memulai alur otorisasi.
Selama alur ini, UI akan memberi tahu pengguna tindakan yang memerlukan izin untuk dijalankan oleh skrip. Misalnya, skrip mungkin meminta izin untuk membaca pesan email pengguna atau membuat acara di kalender mereka. Project skrip menentukan izin individual tersebut sebagai cakupan OAuth.
Untuk sebagian besar skrip, Apps Script otomatis mendeteksi cakupan yang diperlukan untuk Anda; Anda dapat melihat cakupan yang digunakan skrip kapan saja. Anda juga dapat menetapkan cakupan secara eksplisit di manifes menggunakan string URL. Menetapkan cakupan secara eksplisit terkadang diperlukan untuk aplikasi tertentu seperti add-on, karena aplikasi yang dipublikasikan harus selalu menggunakan cakupan tersempit yang mungkin.
Selama alur otorisasi, Apps Script menampilkan deskripsi
cakupan yang diperlukan yang dapat dibaca manusia kepada pengguna. Misalnya, jika skrip Anda memerlukan akses hanya baca ke spreadsheet, manifes mungkin memiliki cakupan https://www.googleapis.com/auth/spreadsheets.readonly
. Selama alur otorisasi, skrip dengan cakupan ini meminta pengguna untuk mengizinkan aplikasi ini "Melihat Google Spreadsheet Anda".
Beberapa cakupan mencakup cakupan lainnya. Misalnya, jika diberi otorisasi, cakupan
https://www.googleapis.com/auth/spreadsheets
akan mengizinkan akses baca dan tulis ke
spreadsheet.
Melihat cakupan
Anda dapat melihat cakupan yang saat ini diperlukan oleh project skrip Anda dengan melakukan hal berikut:
- Buka project skrip.
- Di sebelah kiri, klik Overview .
- Lihat cakupan pada Cakupan OAuth Project.
Menetapkan cakupan eksplisit
Apps Script secara otomatis menentukan cakupan yang diperlukan skrip dengan memindai kodenya untuk panggilan fungsi yang memerlukannya. Untuk sebagian besar skrip, hal ini sudah cukup dan menghemat waktu Anda, tetapi untuk add-on yang dipublikasikan, aplikasi web, aplikasi Google Chat, dan panggilan ke Google Chat API, Anda harus menerapkan kontrol yang lebih langsung atas cakupan tersebut.
Apps Script terkadang secara otomatis menetapkan cakupan project yang sangat permisif. Artinya, skrip Anda meminta pengguna melakukan lebih dari yang dibutuhkan, dan ini merupakan praktik yang buruk. Untuk skrip yang dipublikasikan, Anda harus mengganti cakupan yang luas dengan kumpulan yang lebih terbatas dan tidak mencakup kebutuhan skrip lagi.
Anda dapat secara eksplisit menetapkan cakupan yang digunakan project skrip dengan mengedit
file manifes. Kolom manifes
oauthScopes
adalah array dari semua cakupan yang digunakan oleh project. Untuk menetapkan cakupan project, lakukan hal berikut:
- Buka project skrip.
- Di sebelah kiri, klik Setelan Project .
- Pilih kotak centang Tampilkan file manifes "appsscript.json" dalam editor.
- Di sebelah kiri, klik Editor .
- Di sebelah kiri, klik file
appsscript.json
. - Cari kolom tingkat atas berlabel
oauthScopes
. Jika tidak ada, Anda dapat menambahkannya. - Kolom
oauthScopes
menentukan array string. Untuk menetapkan cakupan yang digunakan project Anda, ganti konten array ini dengan cakupan yang ingin Anda gunakan. Misalnya:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets.readonly", "https://www.googleapis.com/auth/userinfo.email" ], ... }
- Di bagian atas, klik Simpan .
Verifikasi OAuth
Cakupan OAuth tertentu bersifat sensitif karena mengizinkan akses ke Data Pengguna Google. Jika project skrip Anda menggunakan cakupan yang mengizinkan akses ke data pengguna, project harus melalui verifikasi klien OAuth sebelum Anda dapat memublikasikannya secara publik sebagai aplikasi web atau add-on. Untuk informasi selengkapnya, lihat panduan berikut:
- Verifikasi klien OAuth untuk Apps Script
- Aplikasi yang belum diverifikasi
- FAQ verifikasi OAuth
- Layanan Google API: Kebijakan Data Pengguna
Cakupan yang dibatasi
Selain cakupan sensitif, cakupan tertentu diklasifikasikan sebagai dibatasi dan tunduk pada aturan tambahan yang membantu melindungi data pengguna. Jika Anda ingin memublikasikan aplikasi web atau add-on yang menggunakan satu atau beberapa cakupan yang dibatasi, aplikasi harus mematuhi semua pembatasan yang ditentukan sebelum dapat dipublikasikan.
Tinjau daftar lengkap cakupan yang dibatasi sebelum mencoba memublikasikannya. Jika aplikasi Anda menggunakan salah satunya, Anda harus mematuhi Persyaratan Tambahan untuk cakupan API Tertentu sebelum memublikasikannya.