يمكنك إنشاء إضافة Google Workspace في دوال السحابة بدون استخدام "برمجة التطبيقات".
الأهداف
- إعداد البيئة.
- أنشئ دالة Cloud وانشرها.
- أنشئ الإضافة وانشرها.
- ثبِّت الإضافة.
المتطلبات الأساسية
- مشروع Google Cloud
- تأكَّد من تفعيل الفوترة لمشروعك على السحابة الإلكترونية. تعرّف على كيفية التحقق من حالة الفوترة لمشروعاتك.
- SDK للسحابة الإلكترونية التي تمت تهيئتها مع المشروع.
إعداد البيئة
فتح مشروعك على السحابة الإلكترونية في Google Cloud Console
- في وحدة تحكُّم Google Cloud، انتقِل إلى صفحة اختيار مشروع.
- اختَر مشروع Google Cloud الذي تريد استخدامه. أو انقر على إنشاء مشروع واتبع التعليمات التي تظهر على الشاشة. في حال إنشاء مشروع على Google Cloud، قد تحتاج إلى تفعيل الفوترة للمشروع.
ضبط شاشة موافقة OAuth
تتطلب إضافات Google Workspace ضبط شاشة الموافقة. عند ضبط شاشة إضافة OAuth OAuth، يتم تحديد ما تعرضه Google للمستخدمين.
- في Google Cloud Console، انتقِل إلى القائمة > واجهات برمجة التطبيقات والخدمات > شاشة موافقة OAuth.
- حدد نوع المستخدم لتطبيقك، ثم انقر على إنشاء.
- أكمل نموذج تسجيل التطبيق، ثم انقر على حفظ ومتابعة.
في الوقت الحالي، يمكنك تخطي إضافة نطاقات والنقر على حفظ ومتابعة. في المستقبل، عند إنشاء تطبيق للاستخدام خارج مؤسسة Google Workspace، عليك إضافة نطاقات التفويض التي يتطلبها تطبيقك والتحقّق منها.
- في حال اختيار خارجي لنوع المستخدم، أضِف مستخدمين تجريبيين:
- ضمن اختبار المستخدمين، انقر على إضافة مستخدمين.
- أدخِل عنوان البريد الإلكتروني وأيّ مستخدمين آخرين مُعتمَدين للاختبار، ثم انقر على حفظ ومتابعة.
- راجِع ملخّص تسجيل التطبيقات. لإجراء تغييرات، انقر على تعديل. إذا كان تسجيل التطبيق على ما يرام، انقر على الرجوع إلى لوحة البيانات.
إنشاء دالة Cloud ونشرها
في الوحدة الطرفية المحلية، فعِّل Cloud Functions وCloud Build وواجهة برمجة التطبيقات للإضافات:
gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
في الدليل الفارغ، أنشئ الملف
function.js
باستخدام الرمز النموذجي التالي:/** * Google 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
لتجنب تكبد أي رسوم مقابل الموارد المستخدمة في عملية البدء السريع هذه، يمكنك حذف المشروع:
gcloud projects delete PROJECT_ID
استبدل PROJECT_ID برقم تعريف المشروع الذي استخدمته للبدء السريع. يمكنك العثور على رقم تعريف المشروع في Cloud Console على صفحة لوحة البيانات.