גישה אל Admin API

כדי שמשתמשים או אפליקציות יוכלו להשתמש ב-App Engine Admin API, אתם, כGoogle Cloud בעלי הפרויקט, צריכים קודם להפעיל את ה-API בפרויקט ואז ליצור פרטי כניסה שהמשתמשים או האפליקציות יוכלו להשתמש בהם כדי לאשר בקשות HTTP.

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

  • יצירת פרויקטים Google Cloud אחרים.
  • יצירת אפליקציות App Engine לכל הפרויקטים החדשים שנוצרו.
  • פריסת גרסאות של אפליקציות באפליקציות חדשות שנוצרו ב-App Engine.
  • ניהול משאבים בכל הגרסאות שפרסתם.

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

כדי לבצע את המשימה הבאה, אתם צריכים להיות בעלים של הפרויקטGoogle Cloud שבו אתם רוצים להפעיל את Admin API כדי שמשתמשים ואפליקציות יוכלו לגשת אליו.

הגדרת הפרויקט ויצירת פרטי כניסה

כדי להגדיר את הפרויקט וליצור פרטי כניסה: Google Cloud

  1. מפעילים את App Engine Admin API ואת Cloud Storage API בפרויקט ב-Google Cloud :

    הפעלת שני ממשקי ה-API

  2. יוצרים פרטי כניסה שמשתמשים ואפליקציות יכולים להשתמש בהם כדי לגשת ל-Admin API בפרויקט.

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

דוגמאות

בדוגמאות הבאות מוצג תהליך אימות באמצעות הרשאה באמצעות OAuth 2.0 בצד הלקוח כדי לקבל אסימון. האסימון משמש לאישור בקשות ל-Admin API באמצעות כלי שורת הפקודה cURL כדי לפרוס את האפליקציה לדוגמה לאפליקציית App Engine של הפרויקט [MY_PROJECT_ID].

דוגמה לאימות

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

בקשת HTTP

כתובת ה-URL הבאה משתמשת במזהה לקוח שנוצר במסוף Google Cloud כדי לבקש אסימון גישה, ואז מפנה את המשתמש ל-URI מורשה שבו האפליקציה מקבלת את האסימון:

https://accounts.google.com/o/oauth2/v2/auth?
  response_type=token&
  client_id=[MY_CLIENT_ID].apps.googleusercontent.com&
  scope=https://www.googleapis.com/auth/cloud-platform&
  redirect_uri=[MY_REDIRECT_URI]

כאשר:

  • [MY_CLIENT_ID] הוא מזהה לקוח מאחד מפרטי הכניסה שלכם בGoogle Cloud מסוף.
  • [MY_REDIRECT_URI] היא כתובת ה-URI התואמת של הפניות אוטומטיות מורשות מאותם פרטי כניסה במסוףGoogle Cloud . אם לא מציינים כתובת URI להפניה אוטומטית, צריך לציין כתובת URI מהימנה, למשל https://www.google.com. כתובת ה-URI להפניה מגדירה לאן תישלח תגובת ה-HTTP. בסביבת ייצור, צריך לציין את נקודת הקצה של האימות של האפליקציה, שמטפלת בתגובות מהשרת של OAuth 2.0. מידע נוסף זמין במאמר שימוש ב-OAuth 2.0 לאפליקציות של שרת אינטרנט.

תגובת HTTP

כשהאפליקציה משתמשת בכתובת ה-URL כדי לבקש הרשאה, אסימון הגישה מוחזר בתגובה, למשל:

https://www.google.com/#access_token=[MY_ACCESS_TOKEN]&
  token_type=Bearer&
  expires_in=3600

כאשר [MY_ACCESS_TOKEN] הוא אסימון הגישה שהוחזר שביקשתם.

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

דוגמה לבקשת HTTP באמצעות cURL

הפקודה הבאה של cURL מדגימה איך אפשר להשתמש בטוקן הגישה [MY_ACCESS_TOKEN] כדי לשלוח בקשת HTTP POST. פקודת ה-cURL הזו פורסת את המשאבים שמוגדרים בקובץ התצורה app.json לגרסה v1 של השירות default באפליקציה של פרויקט MY_PROJECT_ID.

curl -X POST -T "app.json" -H "Content-Type: application/json" -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/services/default/versions

המאמרים הבאים