هر پروژه Apps Script از Google Cloud برای مدیریت مجوزها، سرویسهای پیشرفته و سایر جزئیات استفاده میکند. برای پیکربندی و مدیریت این تنظیمات، هر پروژه Apps Script یک پروژه Google Cloud مرتبط دارد. پروژه اسکریپت شما میتواند از یک پروژه پیشفرض که Apps Script به طور خودکار ایجاد میکند یا یک پروژه استاندارد که خودتان ایجاد میکنید، استفاده کند. به طور کلی، پروژههای پیشفرض برای اسکریپتهای روزمره یا ساده مناسب هستند، اما شما باید از یک پروژه استاندارد برای هر برنامهای که پیچیده، با کیفیت تجاری است یا قصد انتشار آن را دارید، استفاده کنید.
شما میتوانید در هر زمانی از یک پروژه پیشفرض به یک پروژه استاندارد تغییر دهید ، اما نمیتوانید به حالت اولیه برگردید و از یک پروژه پیشفرض استفاده کنید. بهتر است پروژه ابری که اسکریپت شما از آن استفاده میکند را در اوایل توسعه انتخاب کنید. تغییر در مراحل بعدی میتواند باعث پیچیدگیهایی شود، مانند نیاز به تأیید مجدد کاربران شما.
پروژههای پیشفرض ابری
وقتی یک پروژه 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 .
- برای تأیید کلاینت OAuth پروژه اسکریپت خود .
- وقتی برنامهای دارید که نیاز دارد توابعی را در پروژه اسکریپت شما با استفاده از متد
scripts.runاز API اسکریپت برنامهها اجرا کند. - برای مشاهده گزارشهای Google Cloud پروژه اسکریپت خود در کنسول Google Cloud . کنسول Google Cloud ابزارهای بیشتری برای فیلتر کردن و مشاهده گزارشها ارائه میدهد و میتواند مفیدتر از نمای سادهشده ارائه شده توسط داشبورد Apps Script باشد.
- برای مشاهده گزارشهای خطای پروژه اسکریپت خود با استفاده از گزارش خطا (Error Reporting) .
- برای ایجاد یک کادر محاورهای باز کردن فایل .
- وقتی که به کنترل دستی تنظیمات Google Cloud پروژه نیاز دارید.
ویژگیهای پروژه استاندارد کلود
پروژههای استاندارد دارای ویژگیهای زیر هستند:
- شما میتوانید مستقیماً از کنسول Google Cloud به تمام تنظیمات Google Cloud برای پروژه دسترسی داشته باشید. این به شما امکان میدهد APIها را فعال کنید، اعتبارنامههای مجوز را تنظیم کنید و سایر جزئیات را پیکربندی کنید.
- وقتی یک پروژه اسکریپت را حذف میکنید یا آن را برای استفاده از یک پروژه استاندارد دیگر تغییر میدهید، پروژه استاندارد اصلی باقی میماند و میتواند دوباره مورد استفاده قرار گیرد.
- وقتی یک سرویس پیشرفته را در یک پروژه اسکریپت فعال میکنید، باید API مربوطه را به صورت دستی در پروژه استاندارد فعال کنید.
- چندین پروژه اسکریپت و برنامههای دیگر میتوانند یک پروژه استاندارد را به اشتراک بگذارند. اگر قصد دارید یک پروژه اسکریپت را به عنوان یک افزونه در بازار Google Workspace منتشر کنید، باید پروژه استاندارد مخصوص به خود را داشته باشد. برنامههای منتشر شده نمیتوانند پروژههای Cloud را با برنامههای دیگر به اشتراک بگذارند.
- اگر میخواهید توابعی را در یک پروژه اسکریپت از برنامه دیگری با استفاده از متد
scripts.runاز API مربوط به Apps Script اجرا کنید، پروژه اسکریپت و برنامه فراخوانیکننده باید یک پروژه استاندارد مشترک داشته باشند. - وقتی Apps Script از کاربر میخواهد اسکریپتی را که از یک پروژه استاندارد استفاده میکند، تأیید کند، از نام پروژه Cloud برای شناسایی اسکریپت استفاده میشود (نه نام پروژه اسکریپت). به همین دلیل، حتماً یک نام پروژه Cloud مناسب تنظیم کنید.
دسترسی به یک پروژه ابری استاندارد
برای دسترسی به پروژه استاندارد مرتبط با پروژه اسکریپت خود، موارد زیر را انجام دهید:
- پروژه Apps Script را باز کنید.
- در سمت چپ، روی پروژه کلیک کنید.
- در قسمت پروژه پلتفرم ابری گوگل (GCP) ، روی شماره پروژه کلیک کنید.
همچنین میتوانید یک پروژه استاندارد را مستقیماً در صفحه مدیریت منابع کنسول Google Cloud پیدا کنید.
فعال کردن یک API در یک پروژه ابری استاندارد
اغلب یک برنامه Apps Script نیاز به دسترسی به یک API گوگل دیگر دارد. برای انجام این کار، باید API را در پروژه ابری مربوطه فعال کنید. با انجام موارد زیر، یک API را فعال کنید:
- پروژه ابر را باز کنید .
- روی منو > APIها و سرویسها کلیک کنید.
- روی فعال کردن APIها و سرویسها کلیک کنید.
- در کادر جستجو، API مورد نظر برای فعالسازی را وارد کرده و Enter را بزنید.
- روی API از نتایج جستجو کلیک کنید و سپس برای فعال کردن API برای این پروژه ابری، روی فعال کردن کلیک کنید.
ممکن است از شما خواسته شود شرایط خدمات APIهای گوگل یا Google Cloud را بپذیرید. قبل از پذیرش، شرایط خدمات را با دقت مطالعه کنید.
بسته به برنامه، ممکن است لازم باشد API را با انتخاب آن در داشبورد APIs & Services پیکربندی کنید.
تعیین شناسه و شماره یک پروژه ابری استاندارد
همه پروژههای ابری دارای نام پروژه، شناسه پروژه و شماره پروژه هستند. گاهی اوقات، برای پیکربندی سرویسها یا انجام سایر وظایف، به این شناسهها نیاز دارید.
برای تعیین شناسه و شماره پروژه استاندارد خود، موارد زیر را انجام دهید:
- پروژه ابر را باز کنید .
- در بالا سمت راست، روی More > Project settings کلیک کنید.
- نام پروژه ، شناسه پروژه و شماره پروژه را در پنل تنظیمات مشاهده کنید. شماره پروژه فقط از رقم تشکیل شده است، در حالی که شناسه پروژه از حروف و اعداد تشکیل شده است. میتوانید نام پروژه را که در هنگام درخواستهای مجوز به کاربران نمایش داده میشود، ویرایش کنید.
مشاهده گزارشهای لاگ و خطاهای گوگل کلود در کنسول گوگل کلود
اگر از گزارشگیری یا ثبت وقایع در گوگل کلود برای پروژه اسکریپت خود استفاده میکنید، میتوانید با انجام موارد زیر، آن گزارشها و وقایع را در کنسول گوگل کلود مشاهده کنید:
- پروژه ابر را باز کنید .
- کلیک کنید.
- به بخش عملیات (Operations) بروید و روی Logging > Logs explorer کلیک کنید.
- برای مشاهده گزارشهای خطا، به پایین صفحه، به بخش عملیات (Operations) بروید و روی گزارش خطا (Error Reporting) کلیک کنید. اگر از شما خواسته شد گزارش خطا را تنظیم کنید، به این معنی است که پروژه اسکریپت شما هنوز هیچ استثنایی را ثبت نکرده است.
صفحه رضایت 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 ایجاد شده است استفاده کنید.
- شماره پروژه ابری خود را تعیین کنید .
- اسکریپتی را که میخواهید پروژه ابری آن را جایگزین کنید، باز کنید.
- در سمت چپ، روی پروژه کلیک کنید.
- در زیر پروژه پلتفرم ابری گوگل (GCP) ، روی تغییر پروژه کلیک کنید.
- شماره پروژه جدید را وارد کنید و روی «تنظیم پروژه» کلیک کنید.
پروژههای ابری و درایوهای اشتراکی
درایوهای اشتراکی (که قبلاً درایوهای تیمی نامیده میشدند) فضاهای مشترکی را فراهم میکنند که در آنها گروههایی از کاربران درایو میتوانند در پروژههای اسکریپت برنامهها و اسناد درایو با یکدیگر همکاری کنند. درایوهای اشتراکی هنگام توسعه اسکریپتها، افزونهها و برنامههای وب با یک تیم ارزشمند هستند، اما محدودیتهایی را در مورد کارهایی که میتوانید با پروژههای پیشفرض قدیمیتر ابری انجام دهید، اعمال میکنند.
لیست محدودیتهای زیر نحوه تعامل پروژههای ابری با درایوهای اشتراکی را شرح میدهد:
- اگر پروژه اسکریپت شما از یک پروژه استاندارد استفاده میکند، وقتی پروژه اسکریپت در یک درایو مشترک قرار دارد، هیچ محدودیت اضافی وجود ندارد.
- اگر پروژه اسکریپت شما از یک پروژه پیشفرض که در تاریخ ۸ آوریل ۲۰۱۹ یا بعد از آن ایجاد شده است استفاده میکند، وقتی پروژه اسکریپت در یک درایو مشترک قرار دارد، هیچ محدودیت اضافی وجود ندارد.
- اگر پروژه اسکریپت شما از یک پروژه پیشفرض که قبل از ۸ آوریل ۲۰۱۹ ایجاد شده است استفاده میکند، محدودیتهای زیر در حالی که پروژه اسکریپت در یک درایو مشترک قرار دارد، اعمال میشود:
- شما نمیتوانید با استفاده از رابط کاربری 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 Cloud، مراحل زیر را در بخش «فهرست پروژههای Apps Script Cloud را دریافت کنید» دنبال کنید، پروژهای را که میخواهید حذف کنید انتخاب کنید و روی «حذف» کلیک کنید.
برای حذف یک پروژه Apps Script با استفاده از gcloud ، از دستورات زیر استفاده کنید.
gcloud projects list --filter='parent.id=APPS_SCRIPT_FOLDER_ID'
gcloud projects delete PROJECT_ID
برای اطلاعات بیشتر در مورد حذف پروژههای ابری، به خاموش کردن (حذف) پروژهها مراجعه کنید.