يوضّح هذا المستند الخطوات التي عليك اتّخاذها لبدء استخدام Navigation Connect.
|
تأكَّد من استيفاء المتطلبات الأساسية. |
فعِّل واجهة برمجة التطبيقات في مشروعك على Google Cloud. |
إعداد OAuth لإجراء طلب مصادقة من واجهة برمجة التطبيقات |
تتطلّب منتجات "منصة خرائط Google" أن تتضمّن طلبات البيانات من واجهة برمجة التطبيقات رمز OAuth المميز لمنع الاستخدام غير المصرّح به.
إنشاء رمز مميّز OAuth
تتيح ميزة Navigation Connect استخدام بروتوكول OAuth 2.0 للمصادقة. تتيح Google سيناريوهات OAuth 2.0 الشائعة، مثل سيناريوهات خادم الويب.
يوضّح هذا المستند كيفية تمرير رمز OAuth مميز إلى طلب Navigation Connect في بيئة التطوير. لمزيد من المعلومات حول استخدام OAuth في بيئة التشغيل الفعلي، يُرجى الاطّلاع على طرق المصادقة في Google.
يمكنك استدعاء واجهات برمجة التطبيقات في "خرائط Google" مباشرةً من خلال إرسال طلبات إلى الخادم، أو يمكنك استخدام مكتبات العميل لتبسيط الرمز البرمجي. توفّر "خرائط Google" مكتبات برامج للغات Go وJava وNode.js وPython. لمزيد من المعلومات، يُرجى الاطّلاع على مكتبات عميل Navigation Connect.
نظرة عامة على OAuth
يمكنك إنشاء رموز الدخول وإدارتها باستخدام OAuth بعدّة طرق حسب بيئة النشر.
يمكنك استخدام OAuth 2.0 للتفاعلات بين الخادم والخادم بين تطبيقك وإحدى خدمات Google. في هذه الحالة، يمكنك استخدام حساب خدمة مرتبط بتطبيقك بدلاً من مستخدم فردي. يمكنك تقديم طلبات إلى واجهة برمجة التطبيقات باستخدام حساب الخدمة بدون إشراك المستخدمين بشكل مباشر. لمزيد من المعلومات عن طرق المصادقة، يُرجى الاطّلاع على طرق المصادقة في Google.
بدلاً من ذلك، يمكنك دمج Navigation Connect في تطبيق متوافق مع Android أو iOS. لمزيد من المعلومات حول استخدام OAuth وإدارة رموز الدخول لبيئات النشر المختلفة، يُرجى الاطّلاع على استخدام بروتوكول OAuth 2.0 للدخول إلى واجهات Google APIs.
نطاقات OAuth
لاستخدام OAuth مع Navigation Connect، يجب منح رمز OAuth المميز النطاق التالي:
https://www.googleapis.com/auth/cloud-platform
مثال: تجربة طلبات البيانات من واجهة REST API في بيئة التطوير المحلية
إذا لم يكن لديك بيئة تنشئ الرموز المميزة وأردت تجربة Navigation Connect باستخدام رمز OAuth المميز، اتّبِع الإجراء الموضّح في هذا القسم.
يوضّح هذا المثال كيفية استخدام رمز OAuth المميز الذي توفّره بيانات الاعتماد التلقائية للتطبيق (ADC) لإجراء الطلب. لمزيد من المعلومات حول استخدام ADC لطلب بيانات من Google APIs باستخدام مكتبات العملاء، يُرجى الاطّلاع على المصادقة باستخدام مكتبات العملاء.
استخدِم إجراء REST التالي للتطوير أو الاختبار فقط، وليس للإنتاج.
المتطلبات الأساسية
قبل إجراء طلب REST باستخدام ADC، استخدِم واجهة سطر الأوامر gcloud لتقديم بيانات الاعتماد إلى ADC:
ثبِّت واجهة سطر الأوامر (CLI) الخاصة بـ
gcloudوأعِد ضبطها. لمزيد من المعلومات، يُرجى الاطّلاع على تثبيت gcloud CLI.نفِّذ عملية المصادقة باستخدام واجهة سطر الأوامر
gcloud:gcloud auth application-default login
أكمِل عملية تسجيل الدخول لحفظ بيانات الاعتماد في ملف بيانات الاعتماد المحلي الذي يستخدمه ADC.
لمزيد من المعلومات، يُرجى الاطّلاع على إعداد ADC لبيئة تطوير محلية.
إجراء طلب REST
في هذا المثال، يمكنك تمرير عنوانَي طلب:
مرِّر رمز OAuth المميز في العنوان
Authorizationباستخدام الأمر التالي لإنشاء الرمز المميز:gcloud auth application-default print-access-tokenيحتوي الرمز المميّز الذي تم إرجاعه على نطاق
https://www.googleapis.com/auth/cloud-platform.مرِّر رقم تعريف مشروعك على Google Cloud أو اسمه الذي تم تفعيل الفوترة فيه في العنوان
X-Goog-User-Project.
لطلب Navigation Connect باستخدام رمز OAuth المميز، أكمِل الخطوات التالية:
في عينة التعليمات البرمجية التالية، استبدِل العناصر النائبة بقيمك:
- PROJECT_ID: معرّف مشروع Google Cloud
- ANDROID_APP_ID: اسم حزمة Android لتطبيقك، إذا كان ذلك منطبقًا
- IOS_APP_ID: معرّف حزمة iOS لتطبيقك، إذا كان ذلك منطبقًا
#!/bin/bash trip_id="$(uuidgen)" access_token="$(gcloud auth application-default print-access-token)" curl -X POST "https://navigationconnect.googleapis.com/v1/projects/PROJECT_ID/trips?tripId=${trip_id}" \ -H "Authorization: Bearer ${access_token}" \ -H "Content-Type: application/json" \ -d '{ "androidAppId": "ANDROID_APP_ID", "iosAppId": "IOS_APP_ID", }'
لنسخ الأمر
curl، انقر على نسخ في عينة التعليمات البرمجية.الصِق الأمر في نافذة الوحدة الطرفية، ثم شغِّله.
الردّ هو عنصر JSON:
{ "name": "projects/PROJECT_NUMBER/trips/TRIP_ID", "authToken": { "token": "BASE64_ENCODED_TRIP_TOKEN", "expireTime": "2026-03-06T11:09:47.476942Z" }, "state": "NEW", "execution": { "traveledDistanceMeters": 0, "stopAddedInRoute": false }, "createTime": "2026-03-05T23:09:50.768959Z", "updateTime": "2026-03-05T23:09:50.768959Z", }
يتضمّن هذا الرد القيم التالية:
- PROJECT_NUMBER: المعرّف الفريد ذو العدد الصحيح الطويل للمشروع
- TRIP_ID: معرّف الرحلة UUIDv4 الذي ينشئه الخلفية
- استبدِل BASE64_ENCODED_TRIP_TOKEN بالرمز المميّز الذي تم إثبات صحته والذي تعرضه الطريقة
createTripلبدء اتجاهات مفصّلة يتم تتبّعها في "خرائط Google" أو Waze.
تحديد المشاكل وحلّها
إذا عرض طلبك رسالة خطأ تفيد بأنّ واجهة برمجة التطبيقات هذه لا تتوافق مع بيانات اعتماد المستخدم النهائي، اطّلِع على حلّ المشاكل المتعلّقة بإعداد ADC.
الخطوات التالية
بعد ذلك، اضبط حسابات الخدمة الخاصة بواجهة برمجة التطبيقات Navigation Connect API لإتاحة التواصل الآمن بين الخادم والخادم بين البنية الأساسية الخلفية و"خرائط Google" وWaze.