Membuat Add-on Google Workspace di Cloud Functions menggunakan runtime Node.js.
Tujuan
- Menyiapkan lingkungan.
- Membuat dan men-deploy Cloud Function.
- Buat dan deploy add-on.
- Instal add-on.
Prasyarat
- Project Google Cloud.
- Pastikan Anda mengaktifkan penagihan untuk project Cloud. Pelajari cara memverifikasi status penagihan project.
- Cloud SDK yang dikonfigurasi dengan project Cloud.
Menyiapkan lingkungan Anda
Membuka project Cloud di Google Cloud Console
- Di Google Cloud Console, buka halaman Select a project.
- Pilih project Google Cloud yang ingin Anda gunakan. Atau, klik Buat project dan ikuti petunjuk di layar. Jika membuat project Google Cloud, Anda mungkin perlu mengaktifkan penagihan untuk project.
Mengonfigurasi layar izin OAuth
Add-on Google Workspace memerlukan konfigurasi layar izin. Mengonfigurasi layar izin OAuth add-on Anda akan menentukan apa yang ditampilkan Google kepada pengguna.
- Di Google Cloud Console, buka Menu > API & Layanan > Layar izin OAuth.
- Pilih jenis pengguna untuk aplikasi Anda, lalu klik Create.
- Isi formulir pendaftaran aplikasi, lalu klik Simpan dan Lanjutkan.
Untuk saat ini, Anda dapat melewati penambahan cakupan dan mengklik Simpan dan Lanjutkan. Di masa mendatang, saat membuat aplikasi untuk digunakan di luar organisasi Google Workspace, Anda harus menambahkan dan memverifikasi cakupan otorisasi yang diperlukan aplikasi.
- Jika Anda memilih Eksternal untuk jenis pengguna, tambahkan pengguna pengujian:
- Di bagian Uji pengguna, klik Tambahkan pengguna.
- Masukkan alamat email Anda dan pengguna uji resmi lainnya, lalu klik Simpan dan Lanjutkan.
- Tinjau ringkasan pendaftaran aplikasi Anda. Untuk membuat perubahan, klik Edit. Jika pendaftaran aplikasi terlihat normal, klik Kembali ke Dasbor.
Membuat dan men-deploy Cloud Function
Di terminal lokal, aktifkan Cloud Functions, Cloud Build, dan Google Workspace Add-ons API:
gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
Dalam direktori kosong, buat file
function.js
dengan kode contoh berikut:/** * Cloud Function that loads the homepage for a * Google Workspace Add-on. * * @param {Object} req Request sent from Google * @param {Object} res Response to send back */ exports.loadHomePage = function addonsHomePage (req, res) { res.send(createAction()); }; /** Creates a card with two widgets. */ function createAction() { return { "action": { "navigations": [ { "pushCard": { "header": { "title": "Cats!" }, "sections": [ { "widgets": [ { "textParagraph": { "text": "Your random cat:" } }, { "image": { "imageUrl": "https://cataas.com/cat" } } ] } ] } } ] } }; }
Deploy fungsi tersebut:
gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
Jika diminta, tentukan bahwa Anda tidak mengizinkan pemanggilan fungsi yang tidak diautentikasi. Mungkin perlu waktu beberapa menit untuk menerapkan fungsi.
Membuat deployment add-on
Cari email akun layanan untuk add-on:
gcloud workspace-add-ons get-authorization
Berikan peran
cloudfunctions.invoker
ke akun layanan:gcloud functions add-iam-policy-binding loadHomePage \ --role roles/cloudfunctions.invoker \ --member serviceAccount:SERVICE_ACCOUNT_EMAIL
Dapatkan URL dari fungsi yang di-deploy. Untuk mendapatkan URL, jalankan perintah berikut, lalu cari kolom
url
di bagianhttpsTrigger
:gcloud functions describe loadHomePage
Buat file
deployment.json
dengan kode contoh berikut. GantiURL
dengan URL fungsi yang di-deploy dari langkah sebelumnya.{ "oauthScopes": ["https://www.googleapis.com/auth/gmail.addons.execute"], "addOns": { "common": { "name": "My HTTP Add-on", "logoUrl": "https://raw.githubusercontent.com/webdog/octicons-png/main/black/beaker.png", "homepageTrigger": { "runFunction": "URL" } }, "gmail": {}, "drive": {}, "calendar": {}, "docs": {}, "sheets": {}, "slides": {} } }
Buat deployment:
gcloud workspace-add-ons deployments create quickstart \ --deployment-file=deployment.json
Menginstal add-on
Instal deployment dalam mode pengembangan:
gcloud workspace-add-ons deployments install quickstart
Buka atau muat ulang Gmail untuk melihat add-on. Pada toolbar di sebelah kanan, cari ikon gelas kimia.
Klik ikon untuk membuka add-on. Jika diminta, izinkan add-on.
Opsional: Pembersihan
Agar tidak dikenai biaya pada akun, hapus resource yang Anda buat:
Meng-uninstal add-on dari Akun Google Anda:
gcloud workspace-add-ons deployments uninstall quickstart
Agar tidak menimbulkan biaya untuk resource yang digunakan di panduan memulai ini, hapus project Cloud:
gcloud projects delete PROJECT_ID
Ganti PROJECT_ID dengan ID project Cloud yang Anda gunakan untuk panduan memulai. Anda dapat menemukan project ID Cloud di Google Cloud Console pada halaman Dashboard.
Langkah berikutnya
Untuk menambahkan lebih banyak fungsi ke Add-on Google Workspace Anda, lihat panduan berikut: