استخدام OAuth

تتيح Routes API استخدام OAuth 2.0 للمصادقة. تتيح Google استخدام سيناريوهات OAuth 2.0 الشائعة، مثل سيناريوهات خادم الويب.

يصف هذا المستند كيفية تمرير رمز OAuth المميز إلى طلب Routes API في التطوير. للحصول على تعليمات حول استخدام OAuth في production (الإنتاج)، يُرجى مراجعة المصادقة في Google:

قبل البدء

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

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

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

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

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

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

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

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

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

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

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

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

قبل أن تتمكّن من تقديم طلب REST باستخدام ADC، يجب استخدام واجهة سطر الأوامر Google Cloud. لتقديم بيانات الاعتماد إلى مركز 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

يجري المثال التالي طلبًا لواجهة Routes API باستخدام رمز OAuth المميز:

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "travelMode": "DRIVE",
}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "X-Goog-FieldMask: routes.duration,routes.distanceMeters" \
"https://routes.googleapis.com/directions/v2:computeRoutes"

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

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