Cakupan Otorisasi

Pengguna harus mengizinkan project skrip yang mengakses data atau bertindak atas nama mereka. Saat pengguna menjalankan skrip yang memerlukan otorisasi untuk pertama kalinya, UI akan menampilkan permintaan untuk memulai alur otorisasi.

Selama alur ini, UI memberi tahu pengguna tindakan yang perlu dilakukan izin skrip. Misalnya, skrip mungkin memerlukan izin untuk membaca pesan email pengguna atau membuat acara di kalender mereka. Project skrip menentukan izin individual ini sebagai cakupan OAuth.

Untuk sebagian besar skrip, Apps Script otomatis mendeteksi cakupan yang diperlukan; Anda dapat melihat cakupan yang digunakan skrip kapan saja. Anda juga dapat menetapkan cakupan secara eksplisit dalam manifes menggunakan string URL. Cakupan cakupan secara eksplisit terkadang diperlukan untuk aplikasi tertentu seperti add-on, karena aplikasi yang dipublikasikan harus selalu menggunakan cakupan sesempit mungkin.

Selama alur otorisasi, Apps Script menampilkan deskripsi yang diperlukan yang dapat dibaca manusia dari cakupan yang diperlukan kepada pengguna. Misalnya, jika skrip Anda memerlukan akses hanya baca ke spreadsheet, manifes mungkin akan memiliki cakupan https://www.googleapis.com/auth/spreadsheets.readonly. Selama alur otorisasi, skrip dengan cakupan ini meminta pengguna untuk mengizinkan aplikasi ini untuk "Melihat Google Spreadsheet".

Beberapa cakupan sudah mencakup cakupan lainnya. Misalnya, jika diberi otorisasi, cakupan https://www.googleapis.com/auth/spreadsheets akan memungkinkan akses baca dan tulis ke spreadsheet.

Melihat cakupan

Anda dapat melihat cakupan yang diperlukan project skrip saat ini dengan melakukan hal berikut:

  1. Buka project skrip.
  2. Di sebelah kiri, klik Ringkasan .
  3. Lihat cakupan di bagian Cakupan OAuth Project.

Menetapkan cakupan eksplisit

Apps Script secara otomatis menentukan cakupan yang diperlukan skrip dengan memindai kodenya untuk mengetahui panggilan fungsi yang memerlukannya. Bagi sebagian besar skrip, hal ini cukup dan menghemat waktu, tetapi untuk add-on dan aplikasi web yang dipublikasikan, Anda harus menjalankan kontrol langsung pada cakupan.

Apps Script terkadang secara otomatis menetapkan project dengan cakupan yang sangat permisif. Hal ini dapat berarti skrip Anda meminta pengguna melakukan lebih dari yang dibutuhkan, yang merupakan praktik yang buruk. Untuk skrip yang dipublikasikan, Anda harus mengganti cakupan luas dengan kumpulan lebih terbatas yang mencakup kebutuhan skrip, dan bukan lebih banyak lagi.

Anda dapat secara eksplisit menyetel 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 langkah berikut:

  1. Buka project skrip.
  2. Di sebelah kiri, klik Project Settings .
  3. Centang kotak Tampilkan "appsscript.json" file manifes di editor.
  4. Di sebelah kiri, klik Editor .
  5. Di sebelah kiri, klik file appsscript.json.
  6. Temukan kolom tingkat atas berlabel oauthScopes. Jika tidak ada, Anda dapat menambahkannya.
  7. 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"
            ],
           ...
          }
    
  8. Di bagian atas, klik Simpan .

Verifikasi OAuth

Cakupan OAuth tertentu sensitif karena memungkinkan akses ke Data Pengguna Google. Jika project skrip Anda menggunakan cakupan yang mengizinkan akses ke data pengguna, project tersebut harus melalui verifikasi klien OAuth sebelum Anda dapat memublikasikannya secara publik sebagai aplikasi web atau add-on. Untuk informasi selengkapnya, lihat panduan berikut:

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 tersebut harus mematuhi semua batasan tertentu 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 memublikasikan.