هر پروژه اسکریپت Google Apps از Google Cloud برای مدیریت مجوزها، سرویسهای پیشرفته و سایر جزئیات استفاده میکند. برای پیکربندی و مدیریت این تنظیمات، هر پروژه اسکریپت Apps دارای یک پروژه Google Cloud مرتبط است. پروژه اسکریپت شما میتواند از یک پروژه پیشفرض که Apps Script به طور خودکار ایجاد میکند یا یک پروژه استاندارد که خودتان ایجاد میکنید، استفاده کند. به طور کلی، پروژههای پیشفرض برای اسکریپتهای روزمره مناسب هستند، اما شما باید از یک پروژه استاندارد برای هر برنامهای که پیچیده، با کیفیت تجاری است یا قصد انتشار آن را دارید، استفاده کنید.
شما میتوانید در هر زمانی از یک پروژه پیشفرض به یک پروژه استاندارد تغییر دهید ، اما نمیتوانید به حالت اولیه برگردید و از یک پروژه پیشفرض استفاده کنید. بهتر است پروژه ابری که اسکریپت شما از آن استفاده میکند را در اوایل توسعه انتخاب کنید. تغییر در مراحل بعدی میتواند باعث پیچیدگیهایی شود، مانند نیاز به تأیید مجدد کاربران شما.
پروژههای پیشفرض ابری
وقتی یک پروژه Apps Script ایجاد میکنید، یک پروژه Cloud پیشفرض ایجاد میشود که در پسزمینه اجرا میشود.
- برای اکثر اسکریپتها، شما هرگز نیازی به دیدن یا تنظیم این پروژه پیشفرض ندارید. Apps Script تعاملات لازم با Google Cloud را مدیریت میکند. برای مثال، اگر یک سرویس پیشرفته را در ویرایشگر Apps Script فعال کنید، Apps Script هنگام ذخیره پروژه اسکریپت، سرویس پیشرفته را در پروژه پیشفرض Cloud فعال میکند.
- برای برخی از اسکریپتها، شما نیاز به تعامل با کنسول گوگل کلود دارید. در این موارد، اسکریپت شما باید از یک پروژه استاندارد کلود استفاده کند. به عنوان مثال، برای مشاهده لاگهای گوگل کلود در کنسول گوگل کلود، اسکریپت شما باید از یک پروژه استاندارد استفاده کند.
به طور پیشفرض، پروژههای ابری دارای یک سیاست مدیریت هویت و دسترسی (IAM) با یک ورودی هستند، یک حساب سرویس گوگل که به عنوان مالک پروژه پیشفرض عمل میکند. حساب سرویس گوگل appsdev-apps-dev-script-auth@system.gserviceaccount.com است.
مشاهده یا بهروزرسانی پروژههای پیشفرض ابری
اکثر کاربران نمیتوانند مستقیماً پروژههای پیشفرض را در کنسول Google Cloud پیدا، مشاهده یا ویرایش کنند. اگر مدیر هستید، به «مشاهده پروژههای پیشفرض Google Cloud» مراجعه کنید.
اگر پروژه اسکریپت خود را قبل از ۸ آوریل ۲۰۱۹ ایجاد کردهاید ، میتوانید از یک پروژه پیشفرض استفاده کنید که میتوانید در کنسول Google Cloud به آن دسترسی داشته باشید. برای دسترسی به پروژه پیشفرض، به تنظیمات پروژه اسکریپت بروید و روی شماره پروژه کلیک کنید.
حذف پروژههای پیشفرض ابری
اگر مدیر سیستم هستید، میتوانید پروژههای پیشفرض ابری را مانند پروژههای استاندارد ابری حذف کنید. به بخش «مشاهده یا ویرایش پروژههای پیشفرض ابری» مراجعه کنید.
کاربران غیر مدیر نمیتوانند پروژههای پیشفرض را به صورت دستی حذف کنند. با این حال، اگر پروژه اسکریپت را حذف کنید یا به یک پروژه استاندارد تغییر دهید، Apps Script پروژه پیشفرض متصل به اسکریپت را به همراه تنظیمات و اطلاعات آن حذف میکند.
پروژههای ابری استاندارد
پروژههای پیشفرض ابری بهترین گزینه برای اکثر پروژههای اسکریپت هستند، مگر اینکه نیاز به پیکربندی دستی پروژه داشته باشید. در این شرایط، باید پروژه اسکریپت خود را به یک پروژه استاندارد تغییر دهید .
بخشهای زیر توضیح میدهند که چه زمانی Apps Script به یک پروژه استاندارد، ویژگیهای آن و وظایف رایج نیاز دارد. این وظایف را فقط با پروژههای استاندارد انجام دهید.
چه زمانی Apps Script به پروژههای استاندارد ابری نیاز دارد؟
شما باید در شرایط زیر از یک پروژه استاندارد استفاده کنید:
- برای انتشار پروژه اسکریپت خود به عنوان یک افزونه Google Workspace در Google Workspace Marketplace .
- برای تأیید کلاینت OAuth پروژه اسکریپت خود .
- وقتی برنامهای دارید که نیاز دارد توابعی را در پروژه اسکریپت شما با استفاده از متد
scripts.runاز API اسکریپت گوگل اپس اجرا کند. - برای مشاهده گزارشهای Google Cloud پروژه اسکریپت خود در کنسول Google Cloud . کنسول Google Cloud ابزارهای بیشتری برای فیلتر کردن و مشاهده گزارشها ارائه میدهد و میتواند مفیدتر از نمای سادهشده ارائه شده توسط داشبورد Apps Script باشد.
- برای مشاهده گزارشهای خطای پروژه اسکریپت خود با استفاده از گزارش خطا (Error Reporting) .
- برای ایجاد یک کادر محاورهای باز کردن فایل .
- وقتی به کنترل دستی تنظیمات Google Cloud پروژه نیاز دارید.
ویژگیهای پروژه استاندارد کلود
پروژههای استاندارد دارای ویژگیهای زیر هستند:
- به تمام تنظیمات Google Cloud برای پروژه مستقیماً از کنسول Google Cloud دسترسی داشته باشید. این به شما امکان میدهد APIها را فعال کنید، اعتبارنامههای مجوز را تنظیم کنید و سایر جزئیات را پیکربندی کنید.
- وقتی یک پروژه اسکریپت را حذف میکنید یا آن را برای استفاده از یک پروژه استاندارد دیگر تغییر میدهید، پروژه استاندارد اصلی باقی میماند و میتواند دوباره مورد استفاده قرار گیرد.
- وقتی یک سرویس پیشرفته را در یک پروژه اسکریپت فعال میکنید، باید API مربوطه را به صورت دستی در پروژه استاندارد فعال کنید.
- چندین پروژه اسکریپت و برنامههای دیگر میتوانند یک پروژه استاندارد را به اشتراک بگذارند. اگر قصد دارید یک پروژه اسکریپت را به عنوان افزونه در بازار منتشر کنید، باید پروژه استاندارد خود را داشته باشد. برنامههای منتشر شده نمیتوانند پروژههای ابری را با برنامههای دیگر به اشتراک بگذارند.
- اگر میخواهید توابعی را در یک پروژه اسکریپت از برنامه دیگری با استفاده از متد
scripts.runاز API مربوط به Apps Script اجرا کنید، پروژه اسکریپت و برنامه فراخوانیکننده باید یک پروژه استاندارد مشترک داشته باشند. - وقتی Apps Script از کاربر میخواهد اسکریپتی را که از یک پروژه استاندارد استفاده میکند، تأیید کند، از نام پروژه Cloud برای شناسایی اسکریپت استفاده میشود (نه نام پروژه اسکریپت). به همین دلیل، حتماً یک نام پروژه Cloud مناسب تنظیم کنید.
دسترسی به یک پروژه ابری استاندارد
برای دسترسی به پروژه استاندارد مرتبط با پروژه اسکریپت خود:
- پروژه Apps Script را باز کنید.
- در سمت چپ، روی پروژه کلیک کنید.
- در قسمت پروژه ابری گوگل ، روی شماره پروژه کلیک کنید.
یک پروژه استاندارد را مستقیماً در صفحه مدیریت منابع کنسول Google Cloud پیدا کنید.
فعال کردن یک API در یک پروژه ابری استاندارد
برای دسترسی دادن به یک برنامهی Apps Script به یک API گوگل دیگر، API را در پروژهی ابری مربوطه فعال کنید:
- پروژه ابر را باز کنید .
- روی منو > APIها و سرویسها کلیک کنید.
- روی فعال کردن APIها و سرویسها کلیک کنید.
- در کادر جستجو، API مورد نظر برای فعالسازی را وارد کرده و Enter را بزنید.
- روی API از نتایج جستجو کلیک کنید و سپس روی فعال کردن کلیک کنید.
ممکن است از شما خواسته شود شرایط خدمات APIهای گوگل یا Google Cloud را بپذیرید. قبل از پذیرش، شرایط خدمات را با دقت مطالعه کنید.
بسته به برنامه، ممکن است لازم باشد API را با انتخاب آن در داشبورد APIs & Services پیکربندی کنید.
تعیین شناسه و شماره یک پروژه ابری استاندارد
همه پروژههای ابری دارای نام، شناسه و شماره هستند. ممکن است برای پیکربندی سرویسها یا انجام سایر کارها به این شناسهها نیاز داشته باشید.
برای تعیین شناسه و شماره پروژه استاندارد خود:
- پروژه ابر را باز کنید .
- در بالا سمت راست، روی More > Project settings کلیک کنید.
- نام پروژه ، شناسه پروژه و شماره پروژه را در پنل تنظیمات مشاهده کنید. شماره پروژه از رقم تشکیل شده است، در حالی که شناسه پروژه از حروف و اعداد تشکیل شده است. نام پروژه را که در هنگام درخواستهای مجوز به کاربران نمایش داده میشود، ویرایش کنید.
مشاهده گزارشهای لاگ و خطاهای گوگل کلود در کنسول گوگل کلود
اگر از گزارشگیری یا ثبت وقایع در گوگل کلود برای پروژه اسکریپت خود استفاده میکنید، میتوانید با انجام موارد زیر، آن گزارشها و وقایع را در کنسول گوگل کلود مشاهده کنید:
- پروژه ابر را باز کنید .
- کلیک کنید.
- در بخش عملیات ، روی Logging > Logs explorer کلیک کنید.
- برای مشاهده گزارشهای خطا، در بخش عملیات ، روی گزارش خطا کلیک کنید. اگر از شما خواسته شد گزارش خطا را تنظیم کنید، به این معنی است که پروژه اسکریپت شما هنوز هیچ استثنایی را ثبت نکرده است.
صفحه رضایت OAuth را تکمیل کنید
هنگام استفاده از سرویسهایی که به OAuth نیاز دارند، گوگل از کاربران میخواهد که آن سرویسها را تأیید کنند. تنظیمات صفحه رضایت OAuth اطلاعاتی را که گوگل به کاربران ارائه میدهد، مانند نام برنامه و URL شرایط خدمات، تعریف میکند.
پروژههای پیشفرض ابری بهطور خودکار از جزئیات پروژه Apps Script یک صفحه رضایت ایجاد میکنند؛ شما نمیتوانید این تنظیمات را تغییر دهید. پروژههای استاندارد ابری به شما امکان میدهند این اطلاعات را سفارشی کنید. برای پیکربندی صفحه رضایت اسکریپت خود:
- پروژه ابر را باز کنید .
- روی منو > APIها و خدمات > اعتبارنامهها کلیک کنید.
- روی صفحه پیکربندی رضایت کلیک کنید.
- هر بخش از گردش کار صفحه رضایت را پر کنید.
- برای ثبت تغییرات خود در هر مرحله، روی ذخیره و ادامه کلیک کنید.
ایجاد اعتبارنامههای OAuth
اسکریپت برنامهها معمولاً OAuth را برای سرویسهایی که اسکریپت شما استفاده میکند، تنظیم میکند. برای برخی از برنامهها، اعتبارنامههای OAuth اضافی (شناسههای کلاینت و اسرار کلاینت) ایجاد کنید. این کار را فقط با پروژههای استاندارد انجام دهید.
برای ایجاد شناسه کلاینت و راز کلاینت برای پروژه اسکریپت خود:
- پروژه ابر را باز کنید .
- روی منو > APIها و خدمات > اعتبارنامهها کلیک کنید.
- روی ایجاد اعتبارنامهها > شناسه کلاینت OAuth کلیک کنید.
- در قسمت نوع درخواست ، نوع درخواست خود را انتخاب کرده و فرم را پر کنید. پس از اتمام، روی ایجاد کلیک کنید.
- در پنجرهی باز شده، روی دانلود JSON کلیک کنید. از این فایل برای پیکربندی OAuth استفاده کنید.
افزودن مالکان بیشتر به یک پروژه ابری استاندارد
مالکان یا نقشهای دیگری را به یک پروژه استاندارد اضافه کنید تا مطمئن شوید که یکی از اعضای تیم شما همیشه به تنظیمات Google Cloud پروژه اسکریپت دسترسی دارد.
برای افزودن مالکان یا نقشهای دیگر به یک پروژه استاندارد (نیازمند مجوزهای ویرایش):
- همکاران خود را مشخص کنید. توصیه میکنیم از یک گروه گوگل استفاده کنید. دامنههایی را مشخص کنید که شامل همه کاربران آن دامنه باشد.
- پروژه Cloud اسکریپت را باز کنید .
- > IAM & admin > IAM کلیک کنید.
- در بالا، روی «افزودن» کلیک کنید.
- برای افزودن اعضای جدید و نقشهای آنها، دستورالعملهای روی صفحه را دنبال کنید. ایمیلهای شخصی، گروههای گوگل یا دامنهها را اضافه کنید.
- روی ذخیره کلیک کنید.
گروهبندی چندین اسکریپت با یک پروژه ابری واحد
چندین پروژه اسکریپت برنامهها میتوانند یک پروژه استاندارد ابری را به اشتراک بگذارند. برای انجام این کار، یک پروژه استاندارد ایجاد کنید و سپس هر پروژه اسکریپت را برای استفاده از آن تغییر دهید . شما نمیتوانید این کار را با پروژههای پیشفرض انجام دهید.
اگر میخواهید پروژه اسکریپت خود را به عنوان یک افزونه در بازار منتشر کنید، باید پروژه استاندارد خود را داشته باشد - برنامههای منتشر شده نمیتوانند پروژههای ابری را به اشتراک بگذارند.
از یک پروژه ابری استاندارد متفاوت استفاده کنید
یک پروژه اسکریپت را برای استفاده از یک پروژه استاندارد ابری متفاوت تغییر دهید. اگر اسکریپت شما نیاز به پیکربندی دستی پروژه ابری دارد، از یک پروژه پیشفرض به یک پروژه استاندارد تغییر دهید. برای کسب اطلاعات بیشتر، به پروژههای استاندارد ابری مراجعه کنید.
اثرات تغییر به یک پروژه ابری استاندارد متفاوت
اگر اسکریپت خود را از یک پروژه پیشفرض یا به یک پروژه استاندارد متفاوت تغییر دهید، اثرات زیر را خواهد داشت:
- اگر سرویسهای پیشرفته را برای اسکریپت خود فعال کردهاید، باید APIهای مربوطه را در پروژه Cloud جدید فعال کنید. در این صورت هرگونه داده مرتبط با سرویسهای پیشرفته در پروژه Cloud قبلی را از دست میدهید. برای یادگیری نحوه فعال کردن APIها در پروژه Cloud خود، به فعال کردن APIهای Google Workspace مراجعه کنید.
- اگر اسکریپت شما از سرویس داخلی گوگل درایو استفاده میکند، باید API درایو را در پروژههای استاندارد ابری فعال کنید.
در پروژه استاندارد Cloud خود، Drive API را فعال کنید:
- همه کاربرانی که قبلاً اسکریپت را تأیید کردهاند باید دوباره تأیید کنند. در بیشتر موارد، همه کاربرانی که قبلاً برنامههای مرتبط با پروژه جدید را تأیید کردهاند نیز باید دوباره تأیید کنند.
- اگر اسکریپت شما با یک فهرست برنامه در بازار Google Workspace مرتبط باشد، فهرست برنامه، کاربران و نظرات شما به پروژه جدید منتقل نمیشوند. شما باید یک فهرست برنامه در پروژه جدید ایجاد کنید و کاربران شما باید برنامه شما را دوباره نصب کنند. برای اطلاعات بیشتر در مورد ایجاد یک فهرست برنامه جدید، به «انتشار یک برنامه» مراجعه کنید.
- شما نمیتوانید یک اسکریپت را به یک پروژه پیشفرض برگردانید. Apps Script پس از تنظیم اسکریپت برای استفاده از یک پروژه استاندارد، پروژههای پیشفرض را حذف میکند.
به یک پروژه ابری استاندارد دیگر بروید
برای تغییر پروژه ابری موجود یک اسکریپت به یک پروژه ابری دیگر، این مراحل را دنبال کنید:
- اگر پروژه ابری مناسبی ندارید، با دنبال کردن دستورالعملهای «ایجاد پروژه» یکی ایجاد کنید. یک نام پروژه به یاد ماندنی برای آن تعیین کنید تا بتوانید آن را در صفحه مدیریت منابع کنسول Google Cloud پیدا کنید. Apps Script هنگام درخواست از کاربران برای تأیید اسکریپت، از این نام استفاده میکند.
- اگر میخواهید از یک پروژه موجود استفاده کنید، صفحه مدیریت منابع کنسول Google Cloud را باز کنید و یک پروژه موجود را برای استفاده پیدا کنید. شما باید نقشهای مرورگر پروژه و ویرایشگر پیکربندی OAuth یا نقشهایی با مجوزهای معادل را برای پروژه داشته باشید. نمیتوانید از پروژهای که به طور خودکار توسط Apps Script ایجاد شده است استفاده کنید.
- شماره پروژه ابری خود را تعیین کنید .
- اسکریپتی را که میخواهید پروژه ابری آن را جایگزین کنید، باز کنید.
- در سمت چپ، روی پروژه کلیک کنید.
- در زیر پروژه ابری گوگل ، روی تغییر پروژه کلیک کنید.
- شماره پروژه جدید را وارد کنید و روی «تنظیم پروژه» کلیک کنید.
پروژههای ابری و درایوهای اشتراکی
درایوهای اشتراکی فقط برای مشتریان Google Workspace Business و Google Workspace Enterprise در دسترس هستند.
درایوهای اشتراکی (که قبلاً درایوهای تیمی نامیده میشدند) فضاهای مشترکی را فراهم میکنند که در آنها گروههایی از کاربران درایو میتوانند در پروژههای اسکریپت برنامهها و اسناد درایو با یکدیگر همکاری کنند. درایوهای اشتراکی هنگام توسعه اسکریپتها، افزونهها و برنامههای وب با یک تیم ارزشمند هستند، اما محدودیتهایی را در مورد کارهایی که میتوانید با پروژههای پیشفرض قدیمیتر ابری انجام دهید، اعمال میکنند.
لیست زیر نحوه تعامل پروژههای ابری با درایوهای مشترک را شرح میدهد:
- اگر پروژه اسکریپت شما از یک پروژه استاندارد استفاده میکند، وقتی پروژه اسکریپت در یک درایو مشترک قرار دارد، هیچ محدودیت اضافی وجود ندارد.
- اگر پروژه اسکریپت شما از یک پروژه پیشفرض که در تاریخ ۸ آوریل ۲۰۱۹ یا بعد از آن ایجاد شده است استفاده میکند، وقتی پروژه اسکریپت در یک درایو مشترک قرار دارد، هیچ محدودیت اضافی وجود ندارد.
- اگر پروژه اسکریپت شما از یک پروژه پیشفرض که قبل از ۸ آوریل ۲۰۱۹ ایجاد شده است استفاده میکند، محدودیتهای زیر در حالی که پروژه اسکریپت در یک درایو مشترک قرار دارد، اعمال میشود:
- شما نمیتوانید با استفاده از رابط کاربری Apps Script یا کنسول Google Cloud به پروژه پیشفرض دسترسی پیدا کنید. این محدودیت شما را از انجام اقداماتی که نیاز به دسترسی مستقیم به پروژه دارند ، باز میدارد.
- شما نمیتوانید سرویسهای پیشرفته را فعال کنید. برای فعال کردن سرویسهای پیشرفته، به یک پروژه استاندارد بروید.
- وقتی یک پروژه Apps Script موجود را به یک درایو مشترک منتقل میکنید، گوگل دسترسی به پروژه پیشفرض Cloud را محدود میکند. اگر قبل از انتقال به پروژه پیشفرض دسترسی داشتهاید، همچنان میتوانید به آن دسترسی داشته باشید. به عنوان مثال، اگر یک اسکریپت در پوشه My Drive خود ایجاد کرده و سپس آن را به یک درایو مشترک منتقل کردهاید، همچنان میتوانید به پروژه Cloud اسکریپت دسترسی داشته باشید. همکاران شما در درایو مشترک ممکن است نتوانند این کار را انجام دهند.
- یک اسکریپت نام پروژه ابری خود را که قبل از انتقال به درایو مشترک داشته است، حفظ میکند. حتی اگر نام پروژه را در درایو مشترک تغییر دهید، کاربرانی که اسکریپت را تأیید میکنند، همچنان نام قدیمی را در پنجرههای تأیید مشاهده میکنند.
برای جلوگیری از این محدودیتها برای اسکریپتهای قدیمیتر، به یک پروژه استاندارد بروید .
لیستی از پروژههای Apps Script Cloud دریافت کنید
اگر مجوز resourcemanager.projects.list را برای پوشه پروژه Apps Script سازمان خود دارید، میتوانید تمام پروژههای استاندارد و پیشفرض Apps Script Cloud را درون این پوشه مشاهده کنید.
- صفحه مدیریت منابع کنسول گوگل کلود را باز کنید.
- در کنار پوشه Apps Script ، شناسه را کپی کنید.
- روی فیلتر > شناسه والدین کلیک کنید و شناسه پوشه Apps Script را جایگذاری کنید.
حذف پروژههای ابری اسکریپت برنامهها
برای حذف پروژههای پیشفرض باید مدیر سیستم باشید.
برای حذف یک پروژه Apps Script از کنسول Google Cloud:
- پروژه ابر را باز کنید .
- در بالا سمت راست، روی More > Project settings کلیک کنید.
- روی خاموش کردن/حذف کلیک کنید.
- برای خاموش کردن پروژه، دستورالعملهای روی صفحه را دنبال کنید.
برای حذف یک پروژه Apps Script با استفاده از gcloud ، از دستورات زیر استفاده کنید.
gcloud projects list --filter='parent.id=APPS_SCRIPT_FOLDER_ID'
gcloud projects delete PROJECT_IDبرای اطلاعات بیشتر در مورد حذف پروژههای ابری، به خاموش کردن (حذف) پروژهها مراجعه کنید.