שימוש ב-OAuth

Places Insights API תומך בשימוש ב-OAuth 2.0 לצורך אימות. Google תומכת בתרחישים נפוצים של OAuth 2.0, כמו תרחישים של שרת אינטרנט.

במסמך הזה מוסבר איך להעביר אסימון OAuth לקריאה ל-Places Insights API בסביבת הפיתוח. להוראות לשימוש ב-OAuth בסביבת ייצור, אפשר לעיין במאמר אימות ב-Google.

לפני שמתחילים

לפני שמתחילים להשתמש ב-Places Insights API, צריך פרויקט עם חשבון לחיוב ועם Places Insights API מופעל. מומלץ ליצור כמה בעלי פרויקטים ואדמינים לענייני חיוב, כדי שתמיד יהיה מישהו עם התפקידים האלה שזמין לצוות. מידע נוסף זמין במאמר הגדרה במסוף Cloud.

מידע על OAuth

יש הרבה דרכים ליצור ולנהל אסימוני גישה באמצעות OAuth בהתאם לסביבת הפריסה שלכם.

לדוגמה, מערכת OAuth 2.0 של Google תומכת באינטראקציות בין שרתים, כמו אינטראקציות בין האפליקציה לבין שירות של Google. בתרחיש הזה צריך חשבון שירות, שהוא חשבון ששייך לאפליקציה ולא למשתמש קצה ספציפי. האפליקציה שולחת קריאות ל-Google APIs מטעם חשבון השירות, כך שהמשתמשים לא מעורבים באופן ישיר. למידע נוסף על שיטות אימות, ראו אימות ב-Google.

לחלופין, אפשר להשתמש ב-Places Insights API כחלק מאפליקציה לנייד ל-Android או ל-iOS. למידע כללי על השימוש ב-OAuth עם Places Insights API, כולל מידע על ניהול אסימוני גישה לסביבות פריסה שונות, תוכלו לקרוא את המאמר שימוש ב-OAuth 2.0 כדי לגשת ל-Google APIs.

מידע על היקפי ההרשאות של OAuth

כדי להשתמש ב-OAuth עם Places Insights API, צריך להקצות לאסימון ה-OAuth את ההיקף:

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

דוגמה: ניסיון קריאות ל-API ל-REST בסביבת הפיתוח המקומית

אם אתם רוצים לנסות את Places Insights API באמצעות אסימון OAuth, אבל אין לכם סביבת פיתוח מוגדרת ליצירת אסימונים, תוכלו להשתמש בתהליך שמתואר בקטע הזה כדי לבצע את הקריאה.

בדוגמה הזו נסביר איך להשתמש באסימון OAuth שסופק על ידי Application Default Credentials‏ (ADC) כדי לבצע את הקריאה. במאמר אימות באמצעות ספריות לקוח תוכלו ללמוד איך משתמשים ב-ADC כדי לקרוא ל-Google APIs באמצעות ספריות לקוח.

דרישות מוקדמות

כדי שתוכלו לשלוח בקשת REST באמצעות ADC, אתם צריכים להשתמש ב-CLI של Google Cloud כדי לספק ל-ADC את פרטי הכניסה:

  1. אם עדיין לא עשיתם זאת, צריך ליצור פרויקט ולהפעיל את החיוב לפי השלבים המפורטים בקטע הגדרה במסוף Google Cloud.
  2. מתקינים ומפעילים את ה-CLI של gcloud.
  3. כדי ליצור את קובץ פרטי הכניסה, מריצים את הפקודה gcloud במחשב המקומי:

    gcloud auth application-default login
  4. מסך התחברות יוצג לפניכם. אחרי שמתחברים, פרטי הכניסה נשמרים בקובץ פרטי הכניסה המקומי שמשמש את ADC.

מידע נוסף זמין בקטע סביבת פיתוח מקומית במאמר איך מספקים פרטי כניסה ל-Application Default Credentials.

שליחת בקשת REST

בדוגמה הזו, מעבירים שתי כותרות בקשה:

  • מעבירים את אסימון ה-OAuth בכותרת Authorization באמצעות הפקודה הבאה כדי ליצור את האסימון:

    gcloud auth application-default print-access-token

    היקף הטוקן המוחזר הוא https://www.googleapis.com/auth/cloud-platform.

  • מעבירים את המזהה או השם של הפרויקט ב-Google Cloud שבו החיוב מופעל בכותרת X-Goog-User-Project. מידע נוסף זמין במאמר הגדרה במסוף Cloud.

בדוגמה הבאה מתבצעת קריאה ל-Places Insights API באמצעות אסימון OAuth:

curl -X POST 'https://areainsights.googleapis.com/v1:computeInsights' \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_NUMBER_OR_ID" \
-H "Authorization: Bearer $TOKEN" \
--data '{
   "insights":[
      "INSIGHT_COUNT"
   ],
   "filter":{
      "location_filter":{
         "region":{
            "place":"places/ChIJIQBpAG2ahYAR_6128GcTUEo"
         }
      },
      "type_filter":{
         "included_types":[
            "restaurant"
         ]
      },
      "price_levels":[
         "PRICE_LEVEL_INEXPENSIVE"
      ]
   }
}'

פתרון בעיות

אם הבקשה מחזירה הודעת שגיאה שלפיה ה-API לא תומך בפרטי הכניסה של משתמשי הקצה, עיינו בקטע פרטי הכניסה של משתמשים לא פועלים.