במאמר הזה מוסבר איך להתחיל להשתמש ב-Geocoding API.
|
מוודאים שאתם עומדים בדרישות המוקדמות. |
מפעילים את ה-API בפרויקט בענן ב-Google Cloud. |
מגדירים מפתח API או OAuth כדי לשלוח בקשת API מאומתת. |
כדי למנוע שימוש לא מורשה במוצרים של Google Maps Platform, נדרש שבקריאות ל-API ייכללו מפתח API או אסימון OAuth.
יצירת טוקן OAuth
Geocoding API תומך בשימוש ב-OAuth 2.0 לאימות. Google תומכת בתרחישים נפוצים של OAuth 2.0, כמו אלה של שרת אינטרנט.
במאמר הזה מוסבר איך להעביר אסימון OAuth לקריאה ל-Geocoding API בסביבת הפיתוח. הוראות לשימוש ב-OAuth בסביבת ייצור זמינות במאמר בנושא שיטות אימות ב-Google.
מידע על OAuth
יש הרבה דרכים ליצור ולנהל טוקנים של גישה באמצעות OAuth, בהתאם לסביבת הפריסה שלכם.
לדוגמה, מערכת Google OAuth 2.0 תומכת באינטראקציות בין שרתים, כמו אלה שמתרחשות בין האפליקציה שלכם לבין שירות של Google. במקרה הזה צריך חשבון שירות, שהוא חשבון ששייך לאפליקציה ולא למשתמש קצה ספציפי. האפליקציה שולחת קריאות ל-Google APIs בשם חשבון השירות, כך שהמשתמשים לא מעורבים באופן ישיר. מידע נוסף על שיטות אימות זמין במאמר בנושא שיטות אימות ב-Google.
אפשרות אחרת היא להשתמש ב-Geocoding API כחלק מאפליקציה לנייד ל-Android או ל-iOS. למידע כללי על שימוש ב-OAuth עם Geocoding API, כולל מידע על ניהול אסימוני גישה לסביבות פריסה שונות, אפשר לעיין במאמר שימוש ב-OAuth 2.0 לגישה ל-Google APIs.
מידע על היקפי הרשאות OAuth
כדי להשתמש ב-OAuth עם Geocoding API, צריך להקצות לטוקן OAuth את ההיקף הנכון. Geocoding API תומך בהיקפים הבאים:
https://www.googleapis.com/auth/maps-platform.geocode— לשימוש בכל ה-methods של Geocoding API.https://www.googleapis.com/auth/maps-platform.geocode.address— אפשר להשתמש רק ב-GeocodeAddressלגיאו-קידוד קדימה.https://www.googleapis.com/auth/maps-platform.geocode.location— לשימוש רק עםGeocodeLocationלהמרת קואורדינטות לכתובות (reverse geocoding).https://www.googleapis.com/auth/maps-platform.geocode.place— אפשר להשתמש רק עםGeocodePlaceלהמרת כתובות של מקומות לקואורדינטות (geocoding).
בנוסף, אפשר להשתמש בהיקף הכללי https://www.googleapis.com/auth/cloud-platform לכל ה-methods של Geocoding API. ההיקף הזה שימושי במהלך הפיתוח כי הוא היקף ברירת המחדל שמשמש ליצירת טוקנים באמצעות gcloud.
דוגמה: התנסות בקריאות ל-API בארכיטקטורת REST בסביבת הפיתוח המקומית
אם אתם רוצים לנסות את Geocoding API באמצעות טוקן OAuth, אבל אין לכם סביבה להגדרת יצירת טוקנים, אתם יכולים להשתמש בתהליך שמתואר בקטע הזה כדי לבצע את הקריאה.
בדוגמה הזו אנחנו מסבירים איך להשתמש באסימון OAuth שסופק על ידי Application Default Credentials (ADC) כדי לבצע את הקריאה. במאמר אימות באמצעות ספריות לקוח תוכלו ללמוד איך משתמשים ב-ADC כדי לקרוא ל-Google APIs באמצעות ספריות לקוח.
דרישות מוקדמות
כדי שתוכלו לשלוח בקשת REST באמצעות ADC, אתם צריכים קודם להשתמש ב-Google Cloud CLI כדי לספק ל-ADC את פרטי הכניסה:
- מתקינים ומפעילים את ה-CLI של gcloud.
מריצים את הפקודה
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.
בדוגמה הבאה מוצגת קריאה אל Geocoding API באמצעות טוקן OAuth.
עורכים את השדה PROJECT_ID כדי להעביר את המזהה של הפרויקט בענן של Google.
curl -X GET -H 'Content-Type: application/json' \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://geocode.googleapis.com/v4/geocode/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA"
- לוחצים על סמל ההעתקה בדוגמת הקוד,
,
כדי להעתיק את הפקודה curl. - מדביקים את הפקודה בחלון טרמינל ומריצים אותה.
התגובה היא אובייקט JSON:
פתרון בעיות
אם הבקשה מחזירה הודעת שגיאה שלפיה ה-API לא תומך בפרטי הכניסה של משתמשי הקצה, עיינו במאמר פתרון בעיות בהגדרות של ADC.