لضبط بروتوكول OAuth لتطبيقك، عليك إعداد سير عمل OAuth وتفعيل نطاقات OAuth في Data Portability API.
إعداد سير عمل OAuth
لإعداد عملية OAuth لتطبيقك، اتّبِع الخطوات الأساسية الواردة في مستندات Google Identity.
يستخدم معظم المطوّرين مسار تطبيقات الويب من جهة الخادم للحصول على موافقة OAuth، ولكن يمكنك أيضًا استخدام مسار تطبيقات الويب المستندة إلى JavaScript أو مسار تطبيقات الأجهزة الجوّالة وأجهزة الكمبيوتر المكتبي.
نطاقات OAuth لواجهة برمجة التطبيقات Data Portability API
عند ضبط تطبيق Data Portability API لاستخدام بروتوكول OAuth، فعِّل
نطاقات OAuth في Data Portability API ذات الصلة بتطبيقك. بعض النطاقات
هي sensitive
وrestricted
وتخضع لمتطلبات إضافية.
عند إضافة نطاقات Data Portability API إلى مسار OAuth، قد تكون هناك حالات يوافق فيها المستخدم على بعض النطاقات وليس كلها. يجب أن يكون تطبيقك قادرًا على معالجة هذه الحالات من خلال:
- السماح بعمليات تصدير البيانات الجزئية
- إشعار المستخدم بأنّه لم يحدّد جميع النطاقات اللازمة (و توقّف التطبيق بشكلٍ سلس)
- طلب الموافقات المتبقية من المستخدم
يُرجى العِلم أنّ موافقة المستخدِم تسمح لك بتصدير بيانات واحدة لهذه الموافقة المحدّدة. لتنزيل البيانات مرة أخرى، تحتاج إلى موافقة جديدة من العميل.
يُرجى العلم أيضًا أنّه خلال مسار OAuth، لا يعرف تطبيقك حساب Google الذي تم استخدامه لتقديم الموافقة. رمز OAuth الذي يتلقّاه تطبيقك غير شفاف.
للحصول على معلومات عن كيفية مشاركة المستخدمين للبيانات، اطّلِع على مقالة مشاركة نسخة من بياناتك مع جهة خارجية.
القيود المفروضة على النطاقات
يتناول هذا القسم القيود المفروضة على النطاقات التي تؤدي إلى ظهور أخطاء.
النطاقات المختلطة
لا يمكن خلط طلبات نطاق Data Portability 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
النطاقات الممنوحة سابقًا
يجب عدم ضبط include_granted_scopes=true
مطلقًا عند طلب نطاقات DPAPI.
في ما يلي مثال على طلب غير صالح، مع وضع الجزء المحظور بخط عريض:
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
فئات النطاقات
للحصول على قائمة بجميع نطاقات OAuth المتوافقة مع Data Portability API و فئاتها، يُرجى الاطّلاع على نطاقات OAuth المتاحة. للحصول على قائمة بجميع مجموعات موارد ونطاقات OAuth المتوافقة مع خدمة معيّنة، اطّلِع على صفحة مرجع المخطّط لتلك الخدمة.