تحتوي واجهات برمجة تطبيقات "صور Google" على نطاقات متعددة تُستخدَم للوصول إلى عناصر الوسائط والألبومات. تختلف الردود التي يعرضها الاستدعاءات المختلفة استنادًا إلى النطاقات التي طلبها مطوّر البرامج.
يجب أن يشتمل كل طلب يرسله تطبيقك إلى واجهات برمجة التطبيقات لصور Google على رمز تفويض مميز. ويساعد الرمز المميز محرك البحث Google في التعرّف على تطبيقك.
نبذة عن بروتوكولات التفويض
يجب أن يستخدم تطبيقك OAuth 2.0 للسماح بالطلبات. ولا يُسمح باستخدام أي بروتوكولات أخرى للموافقة على الطلبات. إذا كان تطبيقك يستخدم ميزة تسجيل الدخول باستخدام حساب Google، ستتم معالجة بعض جوانب عملية الموافقة على الطلبات نيابةً عنك.
الموافقة على الطلبات باستخدام OAuth 2.0
يجب أن يوافق مستخدم مُعتمَد على كلّ الطلبات الموجّهة إلى Google Photos APIs.
تختلف تفاصيل عملية الموافقة على الطلبات لبروتوكول OAuth 2.0 نوعًا ما حسب نوع التطبيق الذي تكتبه. وتسري العملية العامة التالية على كل أنواع التطبيقات:
- عند إنشاء التطبيق، يجب تسجيله باستخدام وحدة التحكم في واجهة Google API. ويوفر محرك البحث Google المعلومات التي ستحتاجها في ما بعد، مثل معرّف العميل وسر العميل.
- فعِّل واجهات برمجة تطبيقات "صور Google" في Google API Console. (يمكنك تخطّي هذه الخطوة إذا كانت واجهة برمجة التطبيقات غير مدرَجة في وحدة التحكم في واجهة Google API.)
- إذا احتاج التطبيق الدخول إلى بيانات المستخدِم، يطلب التطبيق من Google نطاقًا معينًا للدخول.
- يعرض Google شاشة الموافقة للمستخدم، ويطلب منه السماح لتطبيقك بطلب بعض بياناته.
- عند موافقة المستخدِم، يمنح Google تطبيقك رمز دخول قصير الأجل.
- يطلب تطبيقك بيانات المستخدِم، من خلال إرفاق رمز الدخول بالطلب.
- يعرض Google البيانات المطلوبة بعد تحققه من صلاحية طلبك والرمز المميز.
تستلزم بعض التدفقات إجراء خطوات إضافية، مثل استخدام رموز مميزة للتحديث للحصول على رموز دخول جديدة. لمزيد من المعلومات التفصيلية حول العمليات المتعلقة بمختلف أنواع التطبيقات، راجِع مستندات بروتوكول OAuth 2.0 في Google.
في ما يلي معلومات عن نطاق OAuth 2.0 في Google Photos APIs:
نطاقات Picker API
النطاق | المعنى |
---|---|
https://www.googleapis.com/auth/photospicker.mediaitems.readonly |
إذن الوصول لإنشاء الجلسات والحصول عليها وحذفها، ولإدراج عناصر الوسائط للجلسات |
نطاقات واجهة برمجة التطبيقات في المكتبة
النطاق | المعنى |
---|---|
https://www.googleapis.com/auth/photoslibrary.readonly https://www.googleapis.com/auth/photoslibrary.sharing https://www.googleapis.com/auth/photoslibrary
|
|
https://www.googleapis.com/auth/photoslibrary.appendonly |
تتوفّر إمكانية تحميل وحدات البايت وإنشاء ملفات الوسائط وإنشاء الألبومات وإضافة عناصر تحسين. السماح فقط بتسجيل وسائط جديدة في مكتبة المستخدم وفي الألبومات التي أنشأها التطبيق |
https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata |
إذن بالقراءة لعناصر الوسائط والألبومات التي أنشأها المطوّر لمزيد من المعلومات، يُرجى الاطّلاع على مقالتَي: الوصول إلى عناصر الوسائط و إدراج محتويات المكتبة والألبومات وعناصر الوسائط. يُفترض أن يتم طلبها مع نطاق |
https://www.googleapis.com/auth/photoslibrary.edit.appcreateddata |
إذن بالوصول للتعديل فقط إمكانية تغيير هذه التفاصيل للألبومات وعناصر الوسائط التي أنشأها المطوّر:
|
لطلب الدخول باستخدام بروتوكول OAuth 2.0، يحتاج التطبيق معلومات عن النطاق، بالإضافة إلى المعلومات التي يوفّرها Google عند تسجيل التطبيق (مثل معرِّف العميل وسر العميل).
نصيحة: يمكن لمكتبات عملاء Google APIs معالجة جزء من عملية السماح بالنيابة عنك. وتتوفّر هذه المكتبات للعديد من لغات البرمجة، ويمكنك الاطّلاع على صفحة المكتبات والنماذج للحصول على مزيد من التفاصيل.
اختيار النطاقات
كقاعدة عامة، اختَر النطاق الأكثر تقييدًا ممكنًا وتجنَّب طلب نطاقات لا يحتاجها تطبيقك. يمنح المستخدمون الإذن بالوصول إلى نطاقات محدودة وموضّحة بوضوح بسهولة أكبر. قد يتردد المستخدمون في منح وصول واسع النطاق إلى الوسائط الخاصة بهم ما لم يثقوا بتطبيقك ويدركون سبب حاجته إلى هذه المعلومات.
طلب النطاقات بشكل تدريجي
وفقًا لأفضل الممارسات المتعلّقة بالتفويض، يجب أن يطلب تطبيقك سوى النطاقات عند الحاجة إليها. تجنب طلب جميع النطاقات لتطبيقك مسبقًا عند تسجيل الدخول. بدلاً من ذلك، قدِّم تبريرًا وقدِّم الطلب في سياق مناسب. اشرح بوضوح ما ستقوم به باستخدام بيانات المستخدمين وكيف ستستفيد من منح إمكانية الوصول، وفقًا لإرشادات تجربة المستخدم وأفضل الممارسات لتقديم إشعار وطلب الموافقة.
حسابات الخدمة
لا تتوافق واجهات برمجة تطبيقات "صور Google" مع حسابات الخدمة. يجب أن يستخدم تطبيقك مسارات OAuth 2.0 الأخرى المتاحة مثل OAuth 2.0 لتطبيقات خادم الويب أو OAuth 2.0 لتطبيقات الأجهزة الجوّالة وأجهزة سطح المكتب.