Pengguna harus memberikan otorisasi pada add-on dan aplikasi lain yang mengakses data mereka atau bertindak atas nama mereka. Saat pengguna menjalankan add-on untuk pertama kalinya, UI add-on akan menampilkan perintah otorisasi untuk memulai alur otorisasi.
Selama alur ini, perintah memberi tahu pengguna tindakan yang ingin dilakukan aplikasi dengan izin yang diberikan. Misalnya, add-on mungkin menginginkan izin untuk membaca pesan email pengguna atau membuat acara di kalendernya. Project skrip add-on menentukan setiap izin ini sebagai cakupan OAuth.
Anda mendeklarasikan cakupan dalam manifes menggunakan string
URL. Selama alur otorisasi, Apps Script menampilkan deskripsi cakupan yang dapat dibaca manusia kepada pengguna. Misalnya, add-on Google Workspace Anda
mungkin menggunakan cakupan "Baca pesan saat ini", yang ditulis dalam file manifes Anda sebagai
https://www.googleapis.com/auth/gmail.addons.current.message.readonly. Selama
alur otorisasi, add-on dengan cakupan ini meminta
pengguna untuk mengizinkan add-on: Melihat pesan email Anda saat add-on sedang dijalankan.
Cakupan yang digunakan Apps Script untuk berbagai layanannya tumpang-tindih dengan cakupan yang digunakan oleh API terkait. Misalnya, layanan Kalender Apps Script menggunakan banyak cakupan yang sama dengan Calendar API. Anda dapat mencari cakupan yang diperlukan oleh metode layanan Apps Script tertentu dalam dokumentasi referensi Apps Script.
Melihat cakupan
Anda dapat melihat cakupan yang saat ini diperlukan project skrip Anda dengan melakukan langkah-langkah berikut:
- Buka project skrip.
- Di sebelah kiri, klik Ringkasan .
- Lihat cakupan di bagian "Project OAuth Scopes".
Anda juga dapat melihat cakupan saat ini project skrip dalam manifes project, di kolom oauthScopes, tetapi hanya jika Anda telah menetapkan cakupan tersebut secara eksplisit.
Menetapkan cakupan eksplisit
Apps Script otomatis menentukan cakupan yang dibutuhkan skrip dengan memindai kode untuk panggilan fungsi yang memerlukannya. Untuk sebagian besar skrip, hal ini sudah cukup dan menghemat waktu Anda, tetapi untuk add-on yang dipublikasikan, Anda harus melakukan kontrol yang lebih langsung terhadap cakupan.
Misalnya, Apps Script dapat memberikan cakupan yang sangat permisif https://mail.google.com secara default kepada project skrip add-on. Jika pengguna mengizinkan project skrip
dengan cakupan ini, project akan diberi akses penuh ke akun
Gmail pengguna. Untuk add-on yang dipublikasikan, Anda harus
mengganti cakupan ini dengan kumpulan yang lebih terbatas yang mencakup
kebutuhan add-on dan tidak lebih.
Anda dapat menetapkan cakupan yang digunakan project skrip secara eksplisit dengan mengedit file manifes-nya. Kolom manifes
oauthScopes adalah array
dari semua cakupan yang digunakan oleh add-on. Untuk menetapkan cakupan project Anda, lakukan hal berikut:
- Lihat cakupan yang digunakan add-on Anda. Tentukan perubahan yang perlu dilakukan, seperti menggunakan cakupan yang lebih sempit.
- Buka file manifes add-on Anda.
- Temukan kolom tingkat teratas berlabel
oauthScopes. Jika tidak ada, Anda dapat menambahkannya. Kolom
oauthScopesmenentukan array string. Untuk menetapkan cakupan yang digunakan project Anda, ganti konten array ini dengan cakupan yang ingin Anda gunakan. Misalnya, untuk add-on Google Workspace yang memperluas Gmail, Anda dapat memiliki kode berikut:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/gmail.addons.current.message.metadata", "https://www.googleapis.com/auth/userinfo.email" ], ... }Simpan perubahan file manifes.
Verifikasi OAuth
Penggunaan cakupan OAuth sensitif tertentu mungkin mengharuskan add-on Anda menjalani verifikasi klien OAuth sebelum Anda dapat memublikasikannya. Untuk mendapatkan 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
Cakupan tertentu dibatasi dan tunduk pada aturan tambahan yang membantu melindungi data pengguna. Jika Anda berniat memublikasikan add-on Gmail atau Editor yang menggunakan satu atau beberapa cakupan terbatas, add-on tersebut harus mematuhi semua batasan yang ditentukan sebelum dapat dipublikasikan.
Tinjau daftar lengkap cakupan yang dibatasi sebelum Anda mencoba memublikasikan. Jika add-on Anda menggunakan salah satu API tersebut, Anda harus mematuhi Persyaratan tambahan untuk cakupan API tertentu sebelum memublikasikan.
Ekstensi Alat Developer Google Workspace untuk Visual Studio Code memberikan informasi diagnostik untuk semua cakupan, termasuk deskripsi cakupan dan apakah cakupan tersebut sensitif atau dibatasi.
Memilih cakupan untuk add-on Google Workspace
Bagian berikut memberikan cakupan yang umum digunakan untuk add-on Google Workspace.
Cakupan editor
Cakupan yang sering digunakan berikut untuk add-on Google Workspace memperluas Google Dokumen, Google Spreadsheet, dan Google Slide.
| Cakupan | |
|---|---|
| Akses file Dokumen saat ini |
https://www.googleapis.com/auth/documents.currentonly
Diperlukan jika add-on mengakses Google Apps Script Docs API. Memberikan akses sementara ke konten dokumen yang terbuka. |
| Akses file Spreadsheet saat ini |
https://www.googleapis.com/auth/spreadsheets.currentonly
Diperlukan jika add-on mengakses Apps Script Sheets API. Memberikan akses sementara ke konten spreadsheet yang terbuka. |
| Akses file Slide saat ini |
https://www.googleapis.com/auth/presentations.currentonly
Diperlukan jika add-on mengakses Apps Script Slides API. Memberikan akses sementara ke konten presentasi terbuka. |
| Akses per file |
https://www.googleapis.com/auth/drive.file
Diperlukan agar add-on dapat menggunakan
|
Gmail
Ada cakupan yang dibuat khusus untuk add-on Google Workspace guna membantu melindungi data Gmail pengguna. Tambahkan cakupan ini secara eksplisit ke manifes add-on Anda, beserta cakupan lain yang diperlukan.
Tabel berikut mencantumkan cakupan yang sering digunakan untuk add-on Google Workspace yang memperluas Gmail. Jika add-on Anda memperluas Gmail, Anda harus menambahkan cakupan apa pun yang berlabel Wajib ke manifes add-on Google Workspace Anda.
Ganti cakupan https://mail.google.com yang luas dengan serangkaian cakupan yang lebih sempit yang memungkinkan interaksi yang dibutuhkan add-on Anda.
| Cakupan | |
|---|---|
| Buat draf baru |
https://www.googleapis.com/auth/gmail.addons.current.action.compose
Diperlukan jika add-on menggunakan pemicu tindakan compose. Memungkinkan add-on membuat pesan dan balasan draf baru untuk sementara. Lihat Menulis pesan draf untuk mengetahui detailnya; cakupan ini sering digunakan dengan [tindakan penulisan] (/workspace/add-ons/gmail/extending-compose-ui). Memerlukan token akses. |
| Membaca metadata pesan terbuka |
https://www.googleapis.com/auth/gmail.addons.current.message.metadata
Memberikan akses sementara ke metadata pesan yang terbuka (seperti subjek atau penerima). Tidak mengizinkan pembacaan konten pesan dan memerlukan token akses. Wajib diisi jika add-on menggunakan metadata dalam pemicu tindakan compose. Untuk tindakan tulis pesan, cakupan ini diperlukan jika pemicu tulis pesan memerlukan akses ke metadata. Dalam praktiknya, cakupan ini memungkinkan pemicu penulisan mengakses daftar penerima (kepada:, cc:, dan bcc:) draf email balasan. |
| Membaca konten pesan terbuka |
https://www.googleapis.com/auth/gmail.addons.current.message.action
Memberikan akses ke konten pesan yang terbuka saat ada interaksi pengguna, seperti saat memilih item menu add-on. Memerlukan token akses. |
| Membaca konten rangkaian pesan terbuka |
https://www.googleapis.com/auth/gmail.addons.current.message.readonly
Memberikan akses sementara ke metadata dan konten pesan yang terbuka. Juga memberikan akses ke konten pesan lain dalam rangkaian pesan yang terbuka. Memerlukan token akses. |
| Membaca konten dan metadata pesan apa pun |
https://www.googleapis.com/auth/gmail.readonly
Membaca metadata dan konten email apa pun, termasuk pesan yang dibuka. Diperlukan jika Anda perlu membaca informasi tentang pesan lain, seperti saat melakukan kueri penelusuran atau membaca seluruh rangkaian pesan. |
Cakupan Google Kalender
Tabel berikut mencantumkan cakupan yang sering digunakan untuk add-on Google Workspace yang memperluas Google Kalender.
| Cakupan | |
|---|---|
| Mengakses metadata peristiwa |
https://www.googleapis.com/auth/calendar.addons.execute
Diperlukan jika add-on mengakses metadata acara Kalender. Mengizinkan add-on mengakses metadata acara. |
| Membaca data peristiwa buatan pengguna |
https://www.googleapis.com/auth/calendar.addons.current.event.read
Wajib jika add-on perlu membaca
data peristiwa buatan pengguna. Memungkinkan add-on mengakses data peristiwa yang dibuat pengguna.
Data ini hanya tersedia jika
kolom manifes |
| Menulis data peristiwa buatan pengguna |
https://www.googleapis.com/auth/calendar.addons.current.event.write
Wajib jika add-on perlu menulis
data peristiwa buatan pengguna. Memungkinkan add-on mengedit data peristiwa yang dibuat pengguna.
Data ini hanya tersedia jika
kolom manifes |
Cakupan Google Chat
Untuk memanggil Google Chat API, lakukan autentikasi sebagai pengguna Google Chat atau sebagai aplikasi Google Chat. Setiap jenis autentikasi memerlukan cakupan yang berbeda, dan tidak semua metode Chat API mendukung autentikasi aplikasi.
Untuk mempelajari lebih lanjut cakupan dan jenis autentikasi Chat, lihat Ringkasan autentikasi dan otorisasi di Chat API.
Tabel berikut menunjukkan metode dan cakupan Chat API yang sering digunakan berdasarkan jenis autentikasi yang didukung:
| Metode | Autentikasi pengguna didukung | Autentikasi aplikasi didukung | Cakupan otorisasi yang didukung | |
|---|---|---|---|---|
| Mengirim pesan |
Dengan Autentikasi pengguna:
|
|||
| Membuat ruang |
Dengan Autentikasi pengguna:
|
|||
| Membuat dan menambahkan anggota ke ruang | — |
Dengan Autentikasi pengguna:
|
||
| Menambahkan pengguna ke ruang |
Dengan Autentikasi pengguna:
|
|||
| Mencantumkan aktivitas atau acara dari ruang Chat | — |
Dengan Autentikasi pengguna,
Anda harus menggunakan cakupan untuk setiap
jenis peristiwa yang disertakan dalam permintaan:
|
||
Cakupan Google Drive
Tabel berikut mencantumkan cakupan yang sering digunakan untuk add-on Google Workspace yang memperluas Google Drive.
| Cakupan | |
|---|---|
| Membaca metadata item yang dipilih |
https://www.googleapis.com/auth/drive.addons.metadata.readonly
Wajib jika add-on menerapkan antarmuka kontekstual yang dipicu saat pengguna memilih item di Drive. Memungkinkan add-on membaca metadata terbatas tentang item yang telah dipilih pengguna di Google Drive. Metadata terbatas pada ID, judul, jenis MIME, URL ikon, dan apakah add-on memiliki izin untuk mengakses item. |
| Akses per file |
https://www.googleapis.com/auth/drive.file
Direkomendasikan jika add-on perlu mengakses file Drive satu per satu. Memberikan akses per file ke file yang dibuat atau dibuka oleh aplikasi menggunakan Advanced Drive Service Apps Script. Tindakan ini tidak mengizinkan tindakan serupa menggunakan layanan Drive dasar. Otorisasi file diberikan per file dan dicabut saat pengguna membatalkan otorisasi aplikasi. Lihat contoh Meminta akses file untuk file yang dipilih. |
Token akses
Untuk melindungi data pengguna, cakupan Gmail yang digunakan dalam
add-on Google Workspace memberikan akses sementara ke data pengguna. Untuk mengaktifkan akses sementara, panggil
GmailApp.setCurrentMessageAccessToken
menggunakan token akses dari
objek peristiwa tindakan.
Token akses yang mengaktifkan cakupan Gmail tidak sama dengan token akses yang ditampilkan oleh ScriptApp.getOAuthToken. Gunakan token yang diberikan dalam
objek peristiwa tindakan.
Berikut ini contoh cara menyetel token akses untuk mengizinkan akses ke metadata pesan. Satu-satunya cakupan yang diperlukan untuk contoh ini adalah
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();
}
Cakupan Google Workspace lainnya
Add-on Anda mungkin memerlukan cakupan tambahan jika menggunakan layanan Google Workspace atau Apps Script lainnya. Dalam kebanyakan kasus, Apps Script mendeteksi cakupan ini dan memperbarui manifes secara otomatis. Saat mengedit daftar cakupan manifes, jangan hapus cakupan apa pun kecuali jika Anda menggantinya dengan alternatif yang lebih sempit.
Tabel berikut menunjukkan cakupan yang sering digunakan add-on Google Workspace:
| Cakupan | |
|---|---|
| Membaca alamat email pengguna |
https://www.googleapis.com/auth/userinfo.email
Mengizinkan project membaca alamat email pengguna saat ini. |
| Mengizinkan panggilan ke layanan eksternal |
https://www.googleapis.com/auth/script.external_request
Mengizinkan project membuat
|
| Membaca lokalitas dan zona waktu pengguna |
https://www.googleapis.com/auth/script.locale
Mengizinkan project mempelajari lokalitas dan zona waktu pengguna saat ini. Lihat Mengakses lokalitas dan zona waktu pengguna untuk mengetahui detailnya. |
| Membuat pemicu |
https://www.googleapis.com/auth/script.scriptapp
Mengizinkan project membuat pemicu. |
| Melihat pratinjau link pihak ketiga |
https://www.googleapis.com/auth/workspace.linkpreview
Wajib diisi jika add-on menampilkan pratinjau link dari layanan pihak ketiga. Mengizinkan project melihat link dalam aplikasi Google Workspace saat pengguna berinteraksi dengannya. Untuk mempelajari lebih lanjut, lihat Melihat pratinjau link dengan smart chip. |
| Membuat resource pihak ketiga |
https://www.googleapis.com/auth/workspace.linkcreate
Wajib diisi jika add-on membuat resource di layanan pihak ketiga. Mengizinkan project membaca informasi yang dikirimkan pengguna ke formulir pembuatan resource dan menyisipkan link ke resource dalam aplikasi Google Workspace. Untuk mempelajari lebih lanjut, lihat Membuat resource pihak ketiga dari menu @. |