با استفاده از زمان اجرا Node.js یک افزونه Google Workspace در Cloud Functions ایجاد کنید.
اهداف
- محیط خود را تنظیم کنید.
- ایجاد و استقرار یک تابع ابری.
- افزونه را ایجاد و اجرا کنید.
- افزونه را نصب کنید.
پیش نیازها
- یک پروژه Google Cloud .
- مطمئن شوید که صورتحساب پروژه Cloud خود را روشن کردهاید. نحوه تأیید وضعیت صورتحساب پروژههای خود را بیاموزید.
- Cloud SDK با پروژه Cloud پیکربندی شده است.
محیط خود را تنظیم کنید
پروژه Cloud خود را در کنسول Google Cloud باز کنید
- در کنسول Google Cloud، به صفحه انتخاب پروژه بروید.
- پروژه Google Cloud را که می خواهید استفاده کنید انتخاب کنید. یا روی ایجاد پروژه کلیک کنید و دستورالعمل های روی صفحه را دنبال کنید. اگر یک پروژه Google Cloud ایجاد میکنید، ممکن است لازم باشد صورتحساب پروژه را روشن کنید .
صفحه رضایت OAuth را پیکربندی کنید
افزونههای Google Workspace به پیکربندی صفحه رضایت نیاز دارند. پیکربندی صفحه رضایت OAuth افزونه شما، آنچه را که Google برای کاربران نمایش میدهد مشخص میکند.
- در کنسول Google Cloud، به > بروید > برندسازی منو
- اگر قبلاً آن را پیکربندی کرده اید ، می توانید تنظیمات صفحه رضایت OAuth زیر را در نام تجاری ، مخاطب و دسترسی به داده پیکربندی کنید. اگر پیامی دیدید که می گوید هنوز پیکربندی نشده است ، روی شروع کلیک کنید:
- در قسمت اطلاعات برنامه ، در نام برنامه ، نامی برای برنامه وارد کنید.
- در ایمیل پشتیبانی کاربر ، آدرس ایمیل پشتیبانی را انتخاب کنید که در صورت داشتن رضایت، کاربران بتوانند با شما تماس بگیرند.
- روی Next کلیک کنید.
- در قسمت Audience ، Internal را انتخاب کنید.
- روی Next کلیک کنید.
- در قسمت اطلاعات تماس ، آدرس ایمیلی را وارد کنید که در آن میتوانید از هرگونه تغییر در پروژه خود مطلع شوید.
- روی Next کلیک کنید.
- در قسمت پایان ، خطمشی دادههای کاربر سرویسهای API Google را مرور کنید و در صورت موافقت، من با خدمات Google API موافقم: خطمشی دادههای کاربر را انتخاب کنید.
- روی Continue کلیک کنید.
- روی ایجاد کلیک کنید.
- در حال حاضر، می توانید از افزودن دامنه ها صرف نظر کنید. در آینده، وقتی برنامهای را برای استفاده خارج از سازمان Google Workspace خود ایجاد میکنید، باید نوع کاربر را به خارجی تغییر دهید. سپس محدوده های مجوز مورد نیاز برنامه خود را اضافه کنید. برای کسب اطلاعات بیشتر، راهنمای کامل Configure OAuth رضایت را ببینید.
ایجاد و استقرار یک تابع ابری
در ترمینال محلی، توابع Cloud، Cloud Build و API برافزای Google Workspace را روشن کنید:
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
شناسه پروژه Cloud را که برای شروع سریع استفاده کردید، جایگزین PROJECT_ID کنید. میتوانید شناسه پروژه Cloud را در کنسول Google Cloud در صفحه داشبورد پیدا کنید.
مراحل بعدی
برای افزودن عملکرد بیشتر به افزونه Google Workspace خود، به راهنماهای زیر مراجعه کنید: