إنشاء إضافة Google Workspace للبدء السريع

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

الأهداف

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

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

إعداد البيئة

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

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

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

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

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

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

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

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

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

  5. إذا اخترت خارجي لنوع المستخدم، أضِف المستخدمين الاختباريين:
    1. ضمن اختبار المستخدمين، انقر على إضافة مستخدمين.
    2. أدخِل عنوان بريدك الإلكتروني وأي مستخدمين مختبِرين معتمدين آخرين، ثم انقر على حفظ ومتابعة.
  6. مراجعة ملخص تسجيل التطبيق. لإجراء تغييرات، انقر على تعديل. إذا كان تسجيل التطبيق يبدو على ما يرام، انقر على الرجوع إلى لوحة البيانات.

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

    gcloud projects delete PROJECT_ID
    

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

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

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