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

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

الأهداف

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

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

إعداد البيئة

فتح مشروعك على Google Cloud في "وحدة تحكُّم Google Cloud"

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

    اختيار مشروع على Google Cloud

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

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

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

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

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

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

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

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

  1. في الوحدة الطرفية المحلية، فعِّل ميزات Cloud Functions وCloud Build واجهة برمجة تطبيقات إضافات Google Workspace:

    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. لتجنُّب تحمُّل الرسوم مقابل الموارد المستخدَمة في عملية البدء السريع هذه، احذف مشروع Google Cloud:

    gcloud projects delete PROJECT_ID
    

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

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

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