Node.js ile Google Workspace eklentisi oluşturma

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

Ortamınızı ayarlama

Cloud projenizi Google Cloud Console'da açma

  1. Google Cloud Console'da Proje seçin sayfasına gidin.

    Bulut projesi seçin

  2. 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.

  1. Google Cloud Console'da Menü > > Markalaşma'ya gidin.

    Markalama'ya gidin

  2. 'ü zaten yapılandırdıysanız Marka, Kitle ve Veri Erişimi'nde aşağıdaki OAuth kullanıcı rızası ekranı ayarlarını yapılandırabilirsiniz. Henüz yapılandırılmadı yazan bir mesaj görürseniz Başlayın'ı tıklayın:
    1. Uygulama bilgileri bölümündeki Uygulama adı alanına uygulamanın adını girin.
    2. Kullanıcı destek e-postası bölümünde, kullanıcıların izinleriyle ilgili soruları için sizinle iletişime geçebileceği bir destek e-posta adresi seçin.
    3. İleri'yi tıklayın.
    4. Kitle bölümünde Dahili'yi seçin.
    5. İleri'yi tıklayın.
    6. İletişim bilgileri bölümünde, projenizde yapılan değişikliklerle ilgili bildirim alabileceğiniz bir e-posta adresi girin.
    7. İleri'yi tıklayın.
    8. Son bölümünde Google API Hizmetleri Kullanıcı Verileri Politikası'nı inceleyin ve kabul ediyorsanız Google API Hizmetleri: Kullanıcı Verileri Politikası'nı kabul ediyorum'u seçin.
    9. Devam'ı tıklayın.
    10. Oluştur'u tıklayın.
  3. Şu anda kapsam eklemeyi atlayabilirsiniz. Gelecekte, Google Workspace kuruluşunuzun dışında kullanılacak bir uygulama oluşturduğunuzda Kullanıcı türü'nü Harici olarak değiştirmeniz gerekir. Ardından, uygulamanızın ihtiyaç duyduğu yetkilendirme kapsamlarını ekleyin. Daha fazla bilgi edinmek için OAuth iznini yapılandırma kılavuzunun tamamını inceleyin.

Cloud Functions işlevi oluşturma ve dağıtma

  1. 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
    
  2. 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"
                         }
                      }
                    ]
                  }
                ]
              }
            }
          ]
        }
      };
    }
    
  3. İş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

  1. Eklentinin hizmet hesabı e-posta adresini bulun:

    gcloud workspace-add-ons get-authorization
    
  2. Hizmet hesabına cloudfunctions.invoker rolünü verin:

    gcloud functions add-iam-policy-binding loadHomePage \
        --role roles/cloudfunctions.invoker \
        --member serviceAccount:SERVICE_ACCOUNT_EMAIL
    
  3. 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ında url alanını bulun:

    gcloud functions describe loadHomePage
    
  4. 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": {}
      }
    }
    
  5. Dağıtımı oluşturun:

    gcloud workspace-add-ons deployments create quickstart \
        --deployment-file=deployment.json
    

Eklentiyi yükleme

  1. Dağıtımı geliştirme modunda yükleyin:

    gcloud workspace-add-ons deployments install quickstart
    
  2. Eklentiyi görüntülemek için Gmail'i açın veya yeniden yükleyin. Sağdaki araç çubuğunda bir beher simgesi bulun.

  3. 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:

  1. Eklentiyi Google Hesabınızdan kaldırın:

    gcloud workspace-add-ons deployments uninstall quickstart
    
  2. 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: