Google Workspace eklentisi hızlı başlangıç kılavuzu oluşturma

Node.js çalışma zamanını kullanarak Cloud Functions'ta Google Workspace Eklentileri oluşturun.

Hedefler

  • Ortamınızı ayarlayın.
  • Cloud Functions işlevi oluşturup dağıtın.
  • Eklentiyi oluşturun ve dağıtın.
  • Eklentiyi yükleyin.

Ön koşullar

Ortamınızı ayarlama

Google Cloud Console'da Cloud projenizi açma

  1. Google Cloud konsolunda Proje seçin sayfasına gidin.

    Bir Cloud projesi seçin

  2. Kullanmak istediğiniz Google Cloud projesini seçin. Alternatif olarak Proje oluştur'u tıklayıp ekrandaki talimatları da uygulayabilirsiniz. Bir Google Cloud projesi oluşturursanız proje için faturalandırmayı etkinleştirmeniz gerekebilir.

OAuth izin ekranını yapılandırın

Google Workspace eklentileri için izin ekranı yapılandırması gerekir. Eklentinizin OAuth izin ekranının yapılandırılması, Google'ın kullanıcılara ne göstereceğini tanımlar.

  1. Google Cloud konsolunda Menü > API'ler ve Hizmetler > OAuth izin ekranı'na gidin.

    OAuth izin ekranına gidin

  2. Kullanıcı türü için Dahili'yi seçin ve Oluştur'u tıklayın.
  3. Uygulama kayıt formunu doldurun, ardından Kaydet ve Devam Et'i tıklayın.
  4. Şimdilik kapsam eklemeyi atlayıp Kaydet ve Devam Et'i tıklayabilirsiniz. Gelecekte Google Workspace kuruluşunuzun dışında kullanmak için bir uygulama oluşturduğunuzda Kullanıcı türü'nü Harici olarak değiştirmeniz ve uygulamanızın gerektirdiği yetkilendirme kapsamlarını eklemeniz gerekir.

  5. Uygulama kaydı özetinizi inceleyin. Değişiklik yapmak için Düzenle'yi tıklayın. Uygulama kaydı sorunsuz görünüyorsa Kontrol Paneline Dön'ü tıklayın.

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

  1. Yerel bir terminalde Cloud Functions, Cloud Build ve Google Workspace Add-ons API'yi etkinleştirin:

    gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
    
  2. Boş bir dizinde, aşağıdaki örnek kodu kullanarak 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ğrulanmayan ç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-postasını 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ü altındaki 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ımda kullanılan 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 deney şişesi simgesini bulun.

  3. Eklentiyi açmak için simgeyi tıklayın. İstenirse eklentiyi yetkilendirin.

İsteğe bağlı: Temizleme

Hesabınızın ücretlendirilmesini ö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 ücret alınmasını önlemek amacıyla 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 projesi 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ılavuzlara bakın: