برای پیکربندی OAuth برای برنامه خود، یک گردش کار OAuth را تنظیم می کنید و دامنه های OAuth API Portability Data را فعال می کنید.
یک گردش کار OAuth را تنظیم کنید
برای تنظیم یک جریان OAuth برای برنامه خود، مراحل اساسی در اسناد هویت Google را دنبال کنید.
اکثر توسعه دهندگان از جریان برنامه های وب سمت سرور برای دریافت رضایت OAuth استفاده می کنند، اما شما همچنین می توانید از جریان برنامه های وب جاوا اسکریپت یا جریان برنامه های موبایل و دسکتاپ استفاده کنید.
صادرات ممکن است بیشتر از طول عمر یک نشانه دسترسی طول بکشد، یا کاربر می تواند 30 یا 180 روز دسترسی داشته باشد. ممکن است لازم باشد یک توکن بهروزرسانی دریافت کنید و به صورت دورهای آن را با یک توکن دسترسی تازه مبادله کنید. برای جزئیات بیشتر، به بازخوانی نشانه دسترسی برای برنامه های وب و تازه کردن نشانه دسترسی برای برنامه های موبایل و دسکتاپ مراجعه کنید.
مهم : تمدید توکن OAuth تنها در صورتی در دسترس کاربران است که مشتری OAuth شما وضعیت انتشار در تولید داشته باشد، نه آزمایش . بهعلاوه، توکنهایی که به مشتریان OAuth با وضعیت انتشار آزمایشی اعطا میشوند ، همیشه در 7 روز منقضی میشوند ، حتی اگر مدت زمان 30 یا 180 روزه را انتخاب کنید. برای جزئیات، به تنظیم صفحه رضایت OAuth مراجعه کنید.
دامنه های OAuth API قابل حمل داده
هنگامی که برنامه کاربردی API Portability Data خود را برای OAuth پیکربندی می کنید، دامنه های OAuth API Portability Data را فعال کنید که به برنامه شما مرتبط هستند. برخی از محدوده ها sensitive
و restricted
هستند و مشمول الزامات اضافی هستند.
وقتی دامنههای API Portability Data را به جریان OAuth خود اضافه میکنید، ممکن است مواردی وجود داشته باشد که کاربر شما با برخی اما نه همه حوزهها موافقت کند. برنامه شما باید بتواند به این موارد رسیدگی کند:
- اجازه صادرات جزئی داده
- اطلاع دادن به کاربر مبنی بر اینکه همه محدودههای لازم را انتخاب نکرده است (و بهخوبی شکست خورده است)
- درخواست از کاربر برای رضایت های باقی مانده
علاوه بر این، کاربر انتخاب می کند که آیا یک بار یا برای 30 یا 180 روز به شما اجازه دسترسی به داده های خود را بدهد.
- اگر کاربری یک بار به شما اجازه دسترسی بدهد، برنامه شما مجاز است برای آن رضایت خاص یک بار صادر کردن داده انجام دهد. برای بارگیری مجدد داده ها، به رضایت جدید کاربر نیاز دارید.
- اگر کاربری دسترسی مبتنی بر زمان را به شما اعطا کند، برنامه شما مجاز است برای مدت زمان مشخص شده یا تا زمانی که کاربر رضایت خود را لغو کند، صادرات داده را انجام دهد.
- همچنین میتوانید انتخاب کنید که فیلترهای زمانی را برای درخواست خود برای صادر کردن دادهها برای بازه زمانی خاصی مانند 6 ماه گذشته اعمال کنید.
همچنین باید توجه داشته باشید که در طول جریان OAuth، برنامه شما نمی داند از کدام حساب Google برای دادن رضایت استفاده شده است. توکن OAuth که برنامه شما دریافت می کند غیرشفاف است.
اگر به دنبال اطلاعاتی در مورد نحوه اشتراکگذاری دادهها توسط کاربران هستید، به اشتراکگذاری یک کپی از دادههای خود با شخص ثالث مراجعه کنید.
محدودیت های دامنه
این بخش محدودیت هایی را در حوزه هایی که منجر به خطا می شود پوشش می دهد.
دامنه های مختلط
درخواستهای حوزههای API قابل حمل داده (مانند https://www.googleapis.com/auth/dataportability.*) را نمیتوان با حوزههای دیگر (مانند https://www.googleapis.com/auth/userinfo.email) ترکیب کرد. در اینجا نمونه ای از یک درخواست بد است که قسمت محدود آن پررنگ شده است:
https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search+https://www.googleapis.com/auth/userinfo.email&
include_granted_scopes=false
حوزه هایی که قبلا اعطا شده بود
هنگام درخواست دامنه های DPAPI، هرگز نباید include_granted_scopes=true
را تنظیم کنید. در اینجا نمونه ای از یک درخواست بد است که قسمت محدود آن پررنگ شده است:
https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search&
include_granted_scopes=true
دامنه های بسیار زیاد
اگر دامنه های درخواست شما بیش از حد اضافه شده باشد، ممکن است با خطای 400 bad request
مواجه شوید. این زمانی اتفاق می افتد که طول URL از آنچه در مرورگرها پشتیبانی می شود بیشتر شود. برای حل این مشکل، درخواستهای خود را برای محدوده به چند دسته کوچکتر تقسیم کنید و از مجوز افزایشی برای درخواست رضایت برای هر دسته استفاده کنید.
دسته بندی محدوده ها
برای لیست همه دامنه های OAuth پشتیبانی شده توسط Data Portability API و دسته های آنها، به دامنه های OAuth موجود مراجعه کنید. برای فهرستی از همه گروههای منابع و حوزههای OAuth که توسط یک سرویس خاص پشتیبانی میشوند، به صفحه مرجع طرح برای آن سرویس مراجعه کنید.