إنشاء إضافات Google Workspace في Cloud Functions باستخدام وقت تشغيل Node.js
الأهداف
- اضبط إعدادات البيئة.
- أنشئ دالة Cloud Function ونشرها.
- أنشئ الإضافة ونشرها.
- ثبِّت الإضافة.
المتطلبات الأساسية
- مشروع على Google Cloud
- تأكَّد من تفعيل الفوترة لمشروعك على Cloud. تعرَّف على كيفية التحقّق من حالة الفوترة لمشاريعك.
- حزمة تطوير برامج Cloud تم ضبطها مع مشروع Cloud
إعداد البيئة
فتح مشروعك على Cloud في Google Cloud Console
- في وحدة تحكّم Google Cloud، انتقِل إلى صفحة اختيار مشروع.
- اختَر مشروع Google Cloud الذي تريد استخدامه. أو انقر على إنشاء مشروع واتّبِع التعليمات الظاهرة على الشاشة. في حال إنشاء مشروع على Google Cloud، قد تحتاج إلى تفعيل الفوترة للمشروع.
ضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth
تتطلّب إضافات Google Workspace ضبط شاشة الموافقة. من خلال ضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth في إضافتك، يمكنك تحديد ما يلي: المعلومات التي تعرِضها Google للمستخدمين.
- في وحدة تحكّم Google Cloud، انتقِل إلى رمز القائمة > APIs & Services (واجهات برمجة التطبيقات والخدمات) > OAuth consent screen (شاشة موافقة OAuth).
- في حقل نوع المستخدم، اختَر داخلي، ثم انقر على إنشاء.
- املأ نموذج تسجيل التطبيق، ثم انقر على حفظ ومتابعة.
في الوقت الحالي، يمكنك تخطّي إضافة النطاقات والنقر على حفظ ومتابعة. في المستقبل، عند إنشاء تطبيق لاستخدامه خارج مؤسستك على Google Workspace، عليك تغيير نوع المستخدم إلى خارجي، ثم إضافة نطاقات التفويض التي يتطلبها تطبيقك.
- راجِع ملخّص تسجيل تطبيقك. لإجراء تغييرات، انقر على تعديل. إذا كان تسجيل التطبيق يبدو جيدًا، انقر على الرجوع إلى لوحة البيانات.
إنشاء دالة Cloud ونشرها
في وحدة طرفية محلية، فعِّل Cloud Functions وCloud Build و Google Workspace add-ons API:
gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
في دليل فارغ، أنشئ الملف
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" } } ] } ] } } ] } }; }
نشر الدالة:
gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
حدِّد أنّك لا تسمح بطلبات تنفيذ الدالة غير المعتمَدة إذا طُلب منك ذلك. قد يستغرق نشر الدالة بضع دقائق.
إنشاء عملية نشر لإضافة
ابحث عن عنوان البريد الإلكتروني لحساب الخدمة الخاص بالإضافة:
gcloud workspace-add-ons get-authorization
امنح حساب الخدمة الدور
cloudfunctions.invoker
:gcloud functions add-iam-policy-binding loadHomePage \ --role roles/cloudfunctions.invoker \ --member serviceAccount:SERVICE_ACCOUNT_EMAIL
احصل على عنوان URL للدالة المنشورة. للحصول على عنوان URL، نفِّذ الأمر التالي وابحث عن الحقل
url
ضمن القسمhttpsTrigger
:gcloud functions describe loadHomePage
أنشئ الملف
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": {} } }
أنشئ عملية النشر:
gcloud workspace-add-ons deployments create quickstart \ --deployment-file=deployment.json
تثبيت الإضافة
ثبِّت عملية النشر في وضع التطوير:
gcloud workspace-add-ons deployments install quickstart
افتح Gmail أو أعِد تحميله لعرض الإضافة. في شريط الأدوات على يسار الصفحة، ابحث عن رمز كوب قياس.
انقر على الرمز لفتح الإضافة. منح الإذن للإضافة عند مطالبتك بذلك
اختياري: تنظيف
لتجنُّب تحصيل رسوم من حسابك، يُرجى حذف الموارد التي أنشأتها:
يمكنك إلغاء تثبيت الإضافة من حسابك على Google باتّباع الخطوات التالية:
gcloud workspace-add-ons deployments uninstall quickstart
لتجنُّب تحمُّل رسوم مقابل الموارد المستخدَمة في هذا الدليل السريع، يمكنك حذف مشروع Cloud باتّباع الخطوات التالية:
gcloud projects delete PROJECT_ID
استبدِل PROJECT_ID بمعرّف مشروع Cloud الذي استخدَمته في البدء السريع. يمكنك العثور على رقم تعريف مشروع Cloud في وحدة تحكّم Google Cloud على صفحة لوحة البيانات.
الخطوات التالية
لإضافة المزيد من الوظائف إلى إضافة Google Workspace، يمكنك الرجوع إلى المراجع التالية: