Apps Script برای دسترسی به دادههای خصوصی از سرویسهای داخلی Google یا سرویسهای پیشرفته Google به مجوز کاربر نیاز دارد.
اعطای حقوق دسترسی
Apps Script محدوده های مجوز (مانند دسترسی به فایل های Google Sheets یا Gmail) را به طور خودکار بر اساس اسکن کد تعیین می کند. کدی که نظر داده می شود همچنان می تواند یک درخواست مجوز ایجاد کند. اگر یک اسکریپت نیاز به مجوز داشته باشد، یکی از گفتگوهای مجوز را که در اینجا نشان داده شده است، هنگام اجرا می بینید.
اسکریپتهایی که قبلاً آنها را مجاز کردهاید، در صورتی که تغییر کد سرویسهای جدیدی اضافه میکند، درخواست مجوز اضافی میکنند. اگر به اسکریپت بهعنوان یک برنامه وب که تحت هویت کاربری مالک اسکریپت اجرا میشود، دسترسی داشته باشید، ممکن است اسکریپتها درخواست مجوز نکنند.
لغو حقوق دسترسی
برای لغو دسترسی اسکریپت به داده های خود، این مراحل را دنبال کنید:
- از صفحه مجوزهای حساب Google خود دیدن کنید. (برای پیمایش به این صفحه در آینده، از Google.com بازدید کنید، سپس روی تصویر حساب خود در گوشه سمت راست بالای صفحه کلیک کنید. سپس، روی حساب من و سپس برنامهها و سایتهای متصل در زیر «ورود به سیستم و امنیت» کلیک کنید. بخش، و سپس مدیریت برنامه ها .)
- روی نام اسکریپتی که میخواهید مجوز آن را لغو کنید کلیک کنید، سپس روی Remove در سمت راست کلیک کنید، سپس در گفتگوی بهدستآمده OK را بزنید.
مجوزها و انواع اسکریپت ها
هویت کاربری که یک اسکریپت با آن اجرا میشود - و بنابراین دادههایی که میتواند به آن دسترسی داشته باشد - بر اساس سناریویی که اسکریپت در آن اجرا میشود متفاوت است، همانطور که در جدول زیر نشان داده شده است.
نوع اسکریپت | اسکریپت به صورت... |
---|---|
مستقل ، افزودنی ، یا متصل به Docs، Sheets، Slides یا Forms | کاربر روی صفحه کلید |
عملکرد سفارشی در یک صفحه گسترده | کاربر ناشناس ; با این حال، محدودیت های سهمیه برای کاربر در صفحه کلید حساب می شود |
برنامه وب یا ابزار Google Sites | کاربر در صفحه کلید یا صاحب اسکریپت، بستگی به گزینه های انتخاب شده هنگام استقرار برنامه دارد |
ماشه قابل نصب | کاربری که ماشه را ایجاد کرده است |
دامنه مجوز دستی برای برگهها، اسناد، اسلایدها و فرمها
اگر در حال ساختن یک برافزا یا اسکریپت دیگری هستید که از سرویس صفحه گسترده ، سرویس سند ، سرویس اسلایدها ، یا سرویس فرم ها استفاده می کند، می توانید کادر گفتگوی مجوز را مجبور کنید که فقط به فایل هایی که برافزا یا اسکریپت در آنها وجود دارد درخواست دسترسی داشته باشد. استفاده می شود، به جای همه صفحات گسترده، اسناد یا فرم های کاربر. برای انجام این کار، حاشیه نویسی JsDoc زیر را در یک نظر در سطح فایل قرار دهید:
/**
* @OnlyCurrentDoc
*/
اگر اسکریپت شما دارای کتابخانه ای باشد که @OnlyCurrentDoc
را اعلام می کند، یک حاشیه نویسی مخالف، @NotOnlyCurrentDoc
، در دسترس است، اما اسکریپت اصلی در واقع نیاز به دسترسی به بیش از فایل فعلی دارد.
چرخه عمر مجوز برای افزونه ها
افزونههای Google Sheets، Docs، Slides، و Forms معمولاً از همان مدل مجوز مانند اسکریپتهایی پیروی میکنند که به یک سند متصل میشوند. با این حال، در شرایط خاص، توابع onOpen(e)
و onEdit(e)
آنها در حالت بدون مجوز اجرا می شوند که برخی از عوارض اضافی را به همراه دارد. برای اطلاعات بیشتر، به راهنمای چرخه عمر مجوز افزونه ها مراجعه کنید.
محدودیت های کاربر برنامه OAuth
برنامههایی که از OAuth برای دسترسی به دادههای کاربر Google، از جمله پروژههای Apps Script استفاده میکنند، مشمول محدودیتهای مجوز هستند. برای جزئیات به محدودیت های کاربر برنامه OAuth مراجعه کنید.