Route Optimization API תומך בשימוש ב-OAuth 2.0 לצורך אימות. Google תומכת בתרחישים נפוצים של OAuth 2.0, כמו תרחישים של שרת אינטרנט.
במסמך הזה מוסבר איך להעביר אסימון OAuth לקריאה ל-Route Optimization API בסביבת הפיתוח. להוראות לשימוש ב-OAuth בסביבת ייצור, ראו אימות ב-Google.
לפני שמתחילים
לפני שמתחילים להשתמש ב-Route Optimization API, צריך פרויקט עם חשבון לחיוב ועם Route Optimization API מופעל. מומלץ ליצור כמה בעלי פרויקטים ואדמינים לענייני חיוב, כדי שתמיד יהיה מישהו עם התפקידים האלה שזמין לצוות. מידע נוסף זמין במאמר הגדרה במסוף Cloud.
מידע על OAuth
יש הרבה דרכים ליצור ולנהל אסימוני גישה באמצעות OAuth בהתאם לסביבת הפריסה שלכם.
לדוגמה, מערכת Google OAuth 2.0 תומכת באינטראקציות בין שרתים, כמו אינטראקציות בין האפליקציה לבין שירות של 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
דוגמה: ניסיון קריאות ל-API ל-REST בסביבת הפיתוח המקומית
אם אתם רוצים לנסות את Route Optimization API באמצעות אסימון OAuth, אבל אין לכם סביבת פיתוח מוגדרת ליצירת אסימונים, תוכלו להשתמש בתהליך שמתואר בקטע הזה כדי לבצע את הקריאה.
בדוגמה הזו נסביר איך להשתמש באסימון OAuth שסופק על ידי Application Default Credentials (ADC) כדי לבצע את הקריאה. במאמר אימות באמצעות ספריות לקוח תוכלו ללמוד איך משתמשים ב-ADC כדי לקרוא ל-Google APIs באמצעות ספריות לקוח.
דרישות מוקדמות
כדי שתוכלו לשלוח בקשת REST באמצעות ADC, אתם צריכים להשתמש ב-CLI של Google Cloud כדי לספק ל-ADC את פרטי הכניסה:
- אם עדיין לא עשיתם זאת, צריך ליצור פרויקט ולהפעיל את החיוב לפי השלבים המפורטים במאמר הגדרה במסוף Google Cloud.
- מתקינים ומפעילים את ה-CLI של gcloud.
כדי ליצור את קובץ פרטי הכניסה, מריצים את הפקודה
gcloud
במחשב המקומי:gcloud auth application-default login
- מסך התחברות יוצג לפניכם. אחרי שמתחברים, פרטי הכניסה נשמרים בקובץ פרטי הכניסה המקומי שמשמש את ADC.
מידע נוסף זמין בקטע סביבת פיתוח מקומית במאמר איך מספקים פרטי כניסה ל-Application Default Credentials.
שליחת בקשת REST
בדוגמה הזו, מעבירים שתי כותרות בקשה:
מעבירים את אסימון ה-OAuth בכותרת
Authorization
באמצעות הפקודה הבאה כדי ליצור את האסימון:gcloud auth application-default print-access-token
היקף הטוקן המוחזר הוא
https://www.googleapis.com/auth/cloud-platform.
- מציינים ש-content-type של גוף הבקשה הוא
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
פתרון בעיות
אם הבקשה מחזירה הודעת שגיאה שלפיה ה-API לא תומך בפרטי הכניסה של משתמשי הקצה, עיינו בקטע פרטי הכניסה של משתמשים לא פועלים.