במאמר הזה מוסבר איך מתחילים להשתמש ב-Navigation Connect.
|
בודקים שאתם עומדים בדרישות המוקדמות. |
מפעילים את ה-API בפרויקט בענן ב-Google Cloud. |
הגדרת OAuth לשליחת בקשת API מאומתת. |
כדי למנוע שימוש לא מורשה במוצרים של Google Maps Platform, צריך לכלול קריאות API עם אסימון OAuth.
יצירת טוקן OAuth
Navigation Connect תומך ב-OAuth 2.0 לצורך אימות. Google תומכת בתרחישים נפוצים של OAuth 2.0, כמו תרחישים של שרת אינטרנט.
במאמר הזה מוסבר איך להעביר טוקן OAuth לקריאה של Navigation Connect בסביבת הפיתוח. למידע נוסף על שימוש ב-OAuth בסביבת ייצור, אפשר לעיין במאמר בנושא שיטות אימות ב-Google.
אפשר לקרוא ל-Google Maps APIs ישירות על ידי שליחת בקשות API לשרת, או להשתמש בספריות לקוח כדי לפשט את הקוד. ב-Google Maps יש ספריות לקוח ל-Go, ל-Java, ל-Node.js ול-Python. מידע נוסף זמין במאמר ספריות לקוח של Navigation Connect.
סקירה כללית של OAuth
יש כמה דרכים ליצור ולנהל אסימוני גישה באמצעות OAuth, בהתאם לסביבת הפריסה שלכם.
אתם יכולים להשתמש ב-OAuth 2.0 לאינטראקציות משרת-אל-שרת בין האפליקציה שלכם לבין שירות של Google. במקרה כזה, משתמשים בחשבון שירות שמשויך לאפליקציה ולא במשתמש פרטי. אתם יכולים לשלוח בקשות API באמצעות חשבון השירות בלי שהמשתמשים יהיו מעורבים ישירות. מידע נוסף על שיטות אימות זמין במאמר שיטות אימות ב-Google.
אפשר גם לשלב את Navigation Connect באפליקציה לנייד ל-Android או ל-iOS. למידע נוסף על שימוש ב-OAuth וניהול אסימוני גישה לסביבות פריסה שונות, אפשר לעיין במאמר שימוש ב-OAuth 2.0 לגישה ל-Google APIs.
היקפי הרשאות OAuth
כדי להשתמש ב-OAuth עם Navigation Connect, צריך להקצות לאסימון OAuth את היקף ההרשאות הבא:
https://www.googleapis.com/auth/cloud-platform
דוגמה: התנסות בקריאות ל-API בארכיטקטורת REST בסביבת הפיתוח המקומית
אם אין לכם סביבה שיוצרת טוקנים ואתם רוצים לנסות את Navigation Connect עם טוקן OAuth, אתם יכולים להשתמש בתהליך שמתואר בקטע הזה.
בדוגמה הזו נסביר איך להשתמש באסימון OAuth שסופק על ידי Application Default Credentials (ADC) כדי לבצע את הקריאה. במאמר אימות באמצעות ספריות לקוח תוכלו לקרוא מידע נוסף על שימוש ב-ADC כדי לקרוא ל-Google APIs באמצעות ספריות לקוח.
התהליך הבא של REST מיועד רק לפיתוח או לבדיקה, ולא לייצור.
דרישות מוקדמות
כדי לשלוח בקשת REST באמצעות ADC, צריך קודם להשתמש ב-CLI של gcloud כדי לספק ל-ADC את פרטי הכניסה:
מתקינים ומפעילים את
gcloudCLI. למידע נוסף, ראו התקנת ה-CLI של gcloud.אימות באמצעות
gcloudCLI: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, צריך לבצע את השלבים הבאים:
בדוגמת הקוד הבאה, מחליפים את ה-placeholders בערכים שלכם:
- 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 שנוצר על ידי ה-Backend
- BASE64_ENCODED_TRIP_TOKEN: האסימון המאומת שמוחזר על ידי שיטת
createTripכדי להתחיל ניווט מפורט עם מעקב במפות Google או ב-Waze
פתרון בעיות
אם הבקשה מחזירה הודעת שגיאה שלפיה ה-API לא תומך בפרטי הכניסה של משתמשי הקצה, עיינו במאמר פתרון בעיות בהגדרות של ADC.
המאמרים הבאים
לאחר מכן, מגדירים את חשבונות השירות עבור Navigation Connect API כדי לתמוך בתקשורת מאובטחת בין השרתים של תשתית ה-Backend, מפות Google ו-Waze.