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