إنشاء إضافة على Google Workspace باستخدام Node.js

إنشاء إضافات Google Workspace في Cloud Functions باستخدام وقت تشغيل Node.js

الأهداف

  • اضبط إعدادات البيئة.
  • أنشئ دالة Cloud Function ونشرها.
  • أنشئ الإضافة ونشرها.
  • ثبِّت الإضافة.

المتطلبات الأساسية

إعداد البيئة

فتح مشروعك على Cloud في Google Cloud Console

  1. في وحدة تحكّم Google Cloud، انتقِل إلى صفحة اختيار مشروع.

    اختيار مشروع على السحابة الإلكترونية

  2. اختَر مشروع Google Cloud الذي تريد استخدامه. أو انقر على إنشاء مشروع واتّبِع التعليمات الظاهرة على الشاشة. في حال إنشاء مشروع على Google Cloud، قد تحتاج إلى تفعيل الفوترة للمشروع.

ضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth

تتطلّب إضافات Google Workspace ضبط شاشة الموافقة. من خلال ضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth في إضافتك، يمكنك تحديد ما يلي: المعلومات التي تعرِضها Google للمستخدمين.

  1. في وحدة تحكّم Google Cloud، انتقِل إلى رمز القائمة > APIs & Services (واجهات برمجة التطبيقات والخدمات) > OAuth consent screen (شاشة موافقة OAuth).

    الانتقال إلى شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth

  2. في حقل نوع المستخدم، اختَر داخلي، ثم انقر على إنشاء.
  3. املأ نموذج تسجيل التطبيق، ثم انقر على حفظ ومتابعة.
  4. في الوقت الحالي، يمكنك تخطّي إضافة النطاقات والنقر على حفظ ومتابعة. في المستقبل، عند إنشاء تطبيق لاستخدامه خارج مؤسستك على Google Workspace، عليك تغيير نوع المستخدم إلى خارجي، ثم إضافة نطاقات التفويض التي يتطلبها تطبيقك.

  5. راجِع ملخّص تسجيل تطبيقك. لإجراء تغييرات، انقر على تعديل. إذا كان تسجيل التطبيق يبدو جيدًا، انقر على الرجوع إلى لوحة البيانات.

إنشاء دالة Cloud ونشرها

  1. في وحدة طرفية محلية، فعِّل Cloud Functions وCloud Build و Google Workspace add-ons API:

    gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
    
  2. في دليل فارغ، أنشئ الملف function.js باستخدام المثال التالي للتعليمات البرمجية:

    /**
     * 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. نشر الدالة:

    gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
    

    حدِّد أنّك لا تسمح بطلبات تنفيذ الدالة غير المعتمَدة إذا طُلب منك ذلك. قد يستغرق نشر الدالة بضع دقائق.

إنشاء عملية نشر لإضافة

  1. ابحث عن عنوان البريد الإلكتروني لحساب الخدمة الخاص بالإضافة:

    gcloud workspace-add-ons get-authorization
    
  2. امنح حساب الخدمة الدور cloudfunctions.invoker:

    gcloud functions add-iam-policy-binding loadHomePage \
        --role roles/cloudfunctions.invoker \
        --member serviceAccount:SERVICE_ACCOUNT_EMAIL
    
  3. احصل على عنوان URL للدالة المنشورة. للحصول على عنوان URL، نفِّذ الأمر التالي وابحث عن الحقل url ضمن القسم httpsTrigger:

    gcloud functions describe loadHomePage
    
  4. أنشئ الملف deployment.json باستخدام نموذج الرمز البرمجي التالي. استبدِل URL بعنوان URL للدالة المنشورة من الخطوة السابقة.

    {
      "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. أنشئ عملية النشر:

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

تثبيت الإضافة

  1. ثبِّت عملية النشر في وضع التطوير:

    gcloud workspace-add-ons deployments install quickstart
    
  2. افتح Gmail أو أعِد تحميله لعرض الإضافة. في شريط الأدوات على يسار الصفحة، ابحث عن رمز كوب قياس.

  3. انقر على الرمز لفتح الإضافة. منح الإذن للإضافة عند مطالبتك بذلك

اختياري: تنظيف

لتجنُّب تحصيل رسوم من حسابك، يُرجى حذف الموارد التي أنشأتها:

  1. يمكنك إلغاء تثبيت الإضافة من حسابك على Google باتّباع الخطوات التالية:

    gcloud workspace-add-ons deployments uninstall quickstart
    
  2. لتجنُّب تحمُّل رسوم مقابل الموارد المستخدَمة في هذا الدليل السريع، يمكنك حذف مشروع Cloud باتّباع الخطوات التالية:

    gcloud projects delete PROJECT_ID
    

    استبدِل PROJECT_ID بمعرّف مشروع Cloud الذي استخدَمته في البدء السريع. يمكنك العثور على رقم تعريف مشروع Cloud في وحدة تحكّم Google Cloud على صفحة لوحة البيانات.

الخطوات التالية

لإضافة المزيد من الوظائف إلى إضافة Google Workspace، يمكنك الرجوع إلى المراجع التالية: