إنشاء إضافة على 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، انتقِل إلى رمز القائمة > > العلامة التجارية.

    الانتقال إلى "الهوية البصرية للعلامة التجارية"

  2. إذا سبق لك ضبط ، يمكنك ضبط إعدادات شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth التالية في العلامة التجارية وشريحة الجمهور والوصول إلى البيانات. إذا ظهرت لك رسالة تفيد بأنّ لم يتم ضبطه بعد، انقر على البدء:
    1. ضمن معلومات التطبيق، أدخِل اسمًا للتطبيق في اسم التطبيق.
    2. في عنوان البريد الإلكتروني لدعم المستخدمين، اختَر عنوان بريد إلكتروني لفريق الدعم يمكن للمستخدمين التواصل معك من خلاله إذا كانت لديهم أسئلة حول موافقتهم.
    3. انقر على التالي.
    4. ضمن الجمهور، اختَر داخلي.
    5. انقر على التالي.
    6. ضمن معلومات الاتصال، أدخِل عنوان بريد إلكتروني يمكننا من خلاله إعلامك بأي تغييرات تطرأ على مشروعك.
    7. انقر على التالي.
    8. ضمن إنهاء، راجِع سياسة بيانات المستخدمين في خدمات Google API، وإذا كنت توافق عليها، انقر على أوافق على "سياسة بيانات المستخدمين في خدمات Google API".
    9. انقر على متابعة.
    10. انقر على إنشاء.
  3. يمكنك حاليًا تخطّي إضافة النطاقات. في المستقبل، عند إنشاء تطبيق لاستخدامه خارج مؤسستك على Google Workspace، عليك تغيير نوع المستخدم إلى خارجي. بعد ذلك، أضِف نطاقات التفويض التي يتطلبها تطبيقك. لمزيد من المعلومات، يُرجى الاطّلاع على الدليل الكامل ضبط موافقة OAuth.

إنشاء دالة 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، يمكنك الرجوع إلى المراجع التالية: