Node.js çalışma zamanını kullanarak Cloud Functions'de Google Workspace eklentisi oluşturun.
Hedefler
- Ortamınızı ayarlayın.
- Cloud Functions işlevi oluşturup dağıtın.
- Eklentiyi oluşturup dağıtın.
- Eklentiyi yükleyin.
Ön koşullar
- Google Cloud projesi.
- Cloud projeniz için faturalandırmayı etkinleştirdiğinizden emin olun. Projelerinizin faturalandırma durumunu nasıl doğrulayacağınızı öğrenin.
- Cloud projesiyle yapılandırılan Cloud SDK.
Ortamınızı ayarlama
Cloud projenizi Google Cloud Console'da açma
- Google Cloud Console'da Proje seçin sayfasına gidin.
- Kullanmak istediğiniz Google Cloud projesini seçin. Alternatif olarak Proje oluştur'u tıklayıp ekrandaki talimatları uygulayın. Google Cloud projesi oluşturursanız proje için faturalandırmayı etkinleştirmeniz gerekebilir.
OAuth izin ekranını yapılandırma
Google Workspace eklentileri için izin ekranı yapılandırması gerekir. Eklentinizin OAuth kullanıcı rızası ekranını yapılandırarak Google'ın kullanıcılara ne göstereceğini belirleyebilirsiniz.
- Google Cloud Console'da Menü > API'ler ve Hizmetler > OAuth izin ekranı'na gidin.
- Kullanıcı türü için Dahili'yi seçin ve Oluştur'u tıklayın.
- Uygulama kayıt formunu doldurup Kaydet ve Devam Et'i tıklayın.
Şimdilik kapsam eklemeyi atlayabilir ve Kaydet ve Devam Et'i tıklayabilirsiniz. Gelecekte, Google Workspace kuruluşunuzun dışında kullanılacak bir uygulama oluşturduğunuzda Kullanıcı türü'nü Harici olarak değiştirmeniz ve ardından uygulamanızın gerektirdiği yetkilendirme kapsamlarını eklemeniz gerekir.
- Uygulama kaydı özetinizi inceleyin. Değişiklik yapmak için Düzenle'yi tıklayın. Uygulama kaydının sorunsuz görünmesi durumunda Kontrol paneline dön'ü tıklayın.
Cloud Functions işlevi oluşturma ve dağıtma
Yerel bir terminalde Cloud Functions, Cloud Build ve Google Workspace eklentileri API'sini etkinleştirin:
gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
Boş bir dizinde aşağıdaki örnek kodu içeren
function.js
dosyasını oluşturun:/** * 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" } } ] } ] } } ] } }; }
İşlevi dağıtın:
gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
İstenirse işlevin kimliği doğrulanmamış çağrılarına izin vermediğinizi belirtin. İşlevin dağıtılması birkaç dakika sürebilir.
Eklenti dağıtımı oluşturma
Eklentinin hizmet hesabı e-posta adresini bulun:
gcloud workspace-add-ons get-authorization
Hizmet hesabına
cloudfunctions.invoker
rolünü verin:gcloud functions add-iam-policy-binding loadHomePage \ --role roles/cloudfunctions.invoker \ --member serviceAccount:SERVICE_ACCOUNT_EMAIL
Dağıtılan işlevin URL'sini alın. URL'yi almak için aşağıdaki komutu çalıştırın ve
httpsTrigger
bölümünün altındakiurl
alanını bulun:gcloud functions describe loadHomePage
Aşağıdaki örnek kodu kullanarak
deployment.json
dosyasını oluşturun.URL
değerini, önceki adımdaki dağıtılan işlevin URL'siyle değiştirin.{ "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": {} } }
Dağıtımı oluşturun:
gcloud workspace-add-ons deployments create quickstart \ --deployment-file=deployment.json
Eklentiyi yükleme
Dağıtımı geliştirme modunda yükleyin:
gcloud workspace-add-ons deployments install quickstart
Eklentiyi görüntülemek için Gmail'i açın veya yeniden yükleyin. Sağdaki araç çubuğunda bir beher simgesi bulun.
Eklentiyi açmak için simgesini tıklayın. İstenirse eklentiyi yetkilendirin.
İsteğe bağlı: Temizleme
Hesabınızdan ödeme alınmasını önlemek için oluşturduğunuz kaynakları silin:
Eklentiyi Google Hesabınızdan kaldırın:
gcloud workspace-add-ons deployments uninstall quickstart
Bu hızlı başlangıç kılavuzunda kullanılan kaynaklar için ücretlendirilmemek üzere Cloud projesini silin:
gcloud projects delete PROJECT_ID
PROJECT_ID kısmını, hızlı başlangıç için kullandığınız Cloud projesinin kimliğiyle değiştirin. Cloud proje kimliğini Google Cloud Console'daki Kontrol paneli sayfasında bulabilirsiniz.
Sonraki adımlar
Google Workspace eklentinize daha fazla işlev eklemek için aşağıdaki kılavuzları inceleyin: