שימוש ב-OAuth (כלי רכב)

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

הגדרת חשבון שירות

מכיוון שרק לחשבונות שירות שברשימת ההיתרים יש הרשאה להפעיל את annotatePaths, עליכם לפעול כחשבון שירות באמצעות התחזות לחשבון שירות.

  1. פועלים לפי ההוראות ליצירת חשבון שירות. כתובת האימייל של חשבון השירות בנויה בפורמט הכללי הבא:

    SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    
  2. שולחים את כתובת האימייל של חשבון השירות לנציג העסק שלכם ב-Google. הנציג/ה יוסיף את חשבון השירות הזה לרשימת ההיתרים המורשית להפעיל את annotatePaths.

הוספת משתמשים שיכולים להתחזות לחשבון השירות

מוסיפים משתמש שמורשה להתחזות לחשבון השירות:

gcloud iam service-accounts add-iam-policy-binding \
    SERVICE_ACCOUNT \
    --member=user:USER_EMAIL \
    --role=roles/iam.serviceAccountTokenCreator \
    --project=PROJECT_ID

אפשר גם להוסיף משתמשים שמורשים להתחזות לחשבון השירות דרך מסוף Cloud. למידע נוסף, ראו יצירת חשבון שירות.

פתרון בעיות בפקודה נכשלה

אם הפקודה הזו נכשלת, בקשו מבעלי הפרויקט להריץ בשבילכם את הפקודה או להקצות לכם את התפקיד roles/iam.serviceAccountAdmin בחשבון השירות על ידי הרצת:

gcloud iam service-accounts add-iam-policy-binding \
   SERVICE_ACCOUNT \
    --member=USER_EMAIL \
    --role=roles/iam.serviceAccountAdmin \
    --project=PROJECT_ID

יצירת אסימון OAuth לטווח קצר

אם אתם רוצים להגדיר את annotatePaths באמצעות אסימון OAuth אבל אין לכם אפשרות להגדיר את הסביבה ליצירת אסימונים, השתמשו בתהליך שמתואר בקטע הזה כדי לקבל אסימון OAuth לטווח קצר באמצעות ה-CLI של gcloud. (תוקף האסימון יפוג בתוך שעה). לפרטים נוספים קראו את המאמר יצירת פרטי כניסה לטווח קצר לחשבון שירות. השלבים הבאים הם תצוגה מקוצרת של ההוראות האלה.

  1. נכנסים ל-gcloud:

    gcloud auth login
    

    ה-gcloud פותח חלון דפדפן ומבקש הרשאה.

  2. מגדירים את הפרויקט:

    gcloud config set project PROJECT_ID
    
  3. קבלת אסימון גישה לטווח קצר באמצעות print-access-token:

    gcloud auth print-access-token
    

    הפקודה הזו מחזירה אסימון. מעתיקים את האסימון ומוסיפים אותו אל YOUR_ACCESS_TOKEN בפקודה הבאה:

    curl -X POST \
    https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT:generateAccessToken \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d '{"scope": ["https://www.googleapis.com/auth/cloud-platform"],"lifetime": "3600s"}'
    

    ה-CLI מחזיר את אסימון הגישה לטווח קצר מסוג OAuth שאפשר להשתמש בו עכשיו כדי לשלוח בקשות אל annotatePaths.

(אופציונלי) בדיקת ההרשאות של אסימון ה-OAuth

אם נתקלתם בבעיות בהרשאות, תוכלו לבדוק את ההרשאות של אסימון ה-OAuth על ידי הוספת האסימון לכתובת ה-URL הבאה, והתאמה אישית של OAUTH_TOKEN. (הדביקו את הכתובת הזו בסרגל הכתובות).

https://oauth2.googleapis.com/tokeninfo?access_token=OAUTH_TOKEN

התשובה צריכה לכלול היקף של https://www.googleapis.com/auth/cloud-platform. אם לא, צריך לוודא שהגדרתם את ההיקף כמו שצריך בקטע הקודם.

שימוש ב-OAuth בסביבות ייצור

להוראות על שימוש ב-OAuth בסביבת ייצור, קראו את המאמר אימות ב-Google.

פתרון בעיות

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