استخدام OAuth

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

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

قبل البدء

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

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

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

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

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

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

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

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

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

إذا كنت ترغب في تجربة واجهة برمجة التطبيقات Route Optimization 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.

  • حدِّد نوع محتوى نص الطلب application/json.

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

curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
--data-binary @- << EOM
{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.73881799999999,
              "longitude": -122.4161
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.79581,
              "longitude": -122.4218856
            }
          }
        ]
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "endLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        }
      }
    ],
    "globalStartTime": "2023-01-13T16:00:00-08:00",
    "globalEndTime": "2023-01-14T16:00:00-08:00"
  }
}
EOM

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

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