کاربران از رابط انجمن شما برای ایجاد منابع داده خود استفاده خواهند کرد. برای این منابع داده، رابط شما میتواند به هویت کاربر مؤثر دسترسی داشته باشد. بسته به اعتبار منبع داده ، کاربر مؤثر میتواند خالق منبع داده (مدارک اعتبار) یا مشاهدهکننده گزارش (اعتبارنامه بیننده) باشد.
فواید
- شما می توانید از طرف کاربر به سرویس ها و API های Google دسترسی داشته باشید.
- شما می توانید کنترل دسترسی سفارشی را برای اطمینان از نمایش داده های مربوطه پیاده سازی کنید.
- شما می توانید تجربه کاربری را برای کاربر موثر سفارشی کنید.
مراحل پیاده سازی
دسترسی به نشانه OAuth کاربر
رابط شما میتواند از طرف کاربر با عبور دادن رمز OAuth کاربر به خدمات و APIهای Google دسترسی داشته باشد. برای دسترسی به نشانه OAuth کاربر موثر در رابط خود، از ScriptApp.getOAuthToken()
استفاده کنید. مرجع getOAuthToken را ببینید. این نشانه شامل محدوده های مجوز موجود در طول مجوز اتصال است.
برای اکثر رابطها، Apps Script بهطور خودکار با تجزیه و پردازش اسکریپت، محدودههای مورد نیاز را تشخیص میدهد. میتوانید دامنههایی را که یک رابط استفاده میکند در هر زمان مشاهده کنید . همچنین میتوانید با استفاده از رشتههای URL، دامنهها را به صراحت در مانیفست خود تنظیم کنید. اگر میخواهید از طرف کاربر به سرویس یا API Google دسترسی داشته باشید، آن محدوده مربوطه را در مانیفست قرار دهید.
دسترسی به آدرس ایمیل کاربر
در کد خود، می توانید کاربر موثر فعلی را با Session.getEffectiveUser().getEmail()
شناسایی کنید. مرجع getEffectiveUser را ببینید. افزودن این کد به طور خودکار محدوده مجوز https://www.googleapis.com/auth/userinfo.email
را به رابط شما اضافه می کند.
مثال: فراخوانی APIهای Google با توکن OAuth کاربر
- رابط Google Fit دادهها را از Google Fit API برای کاربر مؤثر واکشی میکند. هنگام فراخوانی API، توکن OAuth کاربر موثر را پاس می کند. برای جزئیات پیاده سازی به کد منبع مراجعه کنید.
- رابط Firestore از Cloud Resource Manager برای دریافت لیستی از پروژه ها برای کاربر مؤثر استفاده می کند. این کانکتور توکن OAuth کاربر موثر را نیز ارسال می کند. برای جزئیات پیاده سازی به کد منبع مراجعه کنید.
مثال: isAdminUser()
بر اساس آدرس ایمیل
- رابط کاربری Chrome UX فهرستی از کاربران سرپرست را حفظ میکند. از
getEffectiveUser()
استفاده می کند و کاربر موثر را با لیست مقایسه می کند تا مشخص کند که آیا کاربر موثر یک ادمین است یا خیر. اجرایgetEffectiveUser
را ببینید.