استخدام OAuth

تتيح واجهة برمجة التطبيقات Solar API استخدام بروتوكول OAuth 2.0 للمصادقة. توفّر Google سيناريوهات OAuth 2.0 الشائعة، مثل سيناريوهات خادم الويب.

يوضِّح هذا المستند كيفية تمرير رمز مميّز لبروتوكول OAuth إلى طلب بيانات من واجهة برمجة التطبيقات Solar API في بيئة التطوير. للحصول على تعليمات حول استخدام OAuth في بيئة الإنتاج، يُرجى الاطّلاع على مقالة المصادقة في Google.

قبل البدء

قبل بدء استخدام واجهة برمجة التطبيقات Solar API، تحتاج إلى مشروع يتضمّن حساب فوترة وواجهة برمجة التطبيقات Solar API مفعّلة. ننصحك بإنشاء عدة أصحاب مشاريع ومشرفي الفوترة، لكي يكون لديك دائمًا شخص يمتلك هذين الدورين متاحًا لفريقك. لمزيد من المعلومات، يُرجى الاطّلاع على الإعداد في Cloud Console.

لمحة عن بروتوكول OAuth

هناك العديد من الطرق لإنشاء رموز الوصول وإدارتها باستخدام OAuth استنادًا إلى بيئة النشر.

على سبيل المثال، يتيح نظام Google OAuth 2.0 التفاعلات بين الخوادم، مثل تلك التي تتم بين تطبيقك وخدمة Google. في هذا السيناريو، تحتاج إلى حساب خدمة، وهو حساب ينتمي إلى تطبيقك بدلاً من مستخدم نهائي فردي. يُطلِب تطبيقك واجهات برمجة تطبيقات Google بالنيابة عن حساب الخدمة، لذلك لا يشارك المستخدمون بشكل مباشر. لمزيد من المعلومات عن طرق المصادقة، يُرجى الاطّلاع على مقالة المصادقة في Google.

بدلاً من ذلك، يمكنك استخدام Solar API كجزء من تطبيق متوافق مع Android أو iOS. للحصول على معلومات عامة عن استخدام OAuth مع Solar API، بما في ذلك معلومات عن إدارة الرموز المميّزة للوصول إلى بيئات النشر المختلفة، يُرجى الاطّلاع على استخدام OAuth 2.0 للوصول إلى Google APIs.

لمحة عن نطاقات OAuth

لاستخدام OAuth مع Solar API، يجب منح رمز OAuth النطاق التالي:

  • https://www.googleapis.com/auth/cloud-platform

مثال: تجربة طلبات البيانات من واجهة برمجة التطبيقات REST في بيئة التطوير المحلية

إذا كنت تريد تجربة Solar API باستخدام رمز مميّز لبروتوكول OAuth، ولكن ليس لديك بيئة تم إعدادها لإنشاء الرموز المميزة، يمكنك استخدام الإجراء الوارد في هذا القسم لإجراء الطلب.

يوضّح هذا المثال كيفية استخدام رمز OAuth المميّز المقدَّم من بيانات الاعتماد التلقائية للتطبيق (ADC) لإجراء المكالمة. للحصول على معلومات عن استخدام أداة "إدارة الاعتمادات" للاتصال بـ Google API باستخدام مكتبات العملاء، اطّلِع على المصادقة باستخدام مكتبات العملاء.

المتطلبات الأساسية

قبل أن تتمكّن من إرسال طلب REST باستخدام أداة ربط البيانات (ADC)، استخدِم Google Cloud CLI لتوفير بيانات الاعتماد لخدمة ADC:

  1. أنشئ مشروعًا وفعِّل ميزة الفوترة باتّباع الخطوات الواردة في مقالة الإعداد في Google Cloud Console إذا لم يسبق لك ذلك.
  2. ثبِّت واجهة gcloud CLI وفعِّلها.
  3. شغِّل الأمر gcloud التالي على جهازك المحلي لإنشاءملف بيانات الاعتماد:

    gcloud auth application-default login
  4. تظهر شاشة تسجيل الدخول. بعد تسجيل الدخول، يتم تخزين بيانات الاعتماد في ملف بيانات الاعتماد المحلي المستخدَم من قِبل أداة ADC.

لمزيد من المعلومات، يُرجى الاطّلاع على القسم بيئة التطوير المحلية في مستندات توفير بيانات الاعتماد لميزة "بيانات الاعتماد التلقائية للتطبيق".

تقديم طلب REST

في هذا المثال، يتمّ تمرير رأسَي طلب:

  • نقْل رمز OAuth المميّز في عنوان Authorization باستخدام الأمر التالي لإنشاء الرمز المميّز:

    gcloud auth application-default print-access-token

    يملك الرمز المميّز الذي تم إرجاعه نطاقًا هو https://www.googleapis.com/auth/cloud-platform.

  • نقْل رقم تعريف أو اسم مشروعك على Google Cloud الذي تم تفعيل الفوترة فيه في عنوان X-Goog-User-Project. لمزيد من المعلومات، يُرجى الاطّلاع على الإعداد في Cloud Console.

يُجري المثال التالي طلبًا إلى Solar API باستخدام رمز مميّز لبروتوكول OAuth:

curl -X GET \
-H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \
-H "Authorization: Bearer $TOKEN" \
"https://solar.googleapis.com/v1/dataLayers:get?location.latitude=37.4450&location.longitude=-122.1390&radius_meters=100&required_quality=HIGH"

تحديد المشاكل وحلّها

إذا كان طلبك يعرض رسالة خطأ تفيد بأنّ واجهة برمجة التطبيقات هذه لا تتوافق مع بيانات اعتماد المستخدم النهائي، راجِع بيانات اعتماد المستخدم لا تعمل.