אימות של קריאות ל-API
בדוגמה הזו נסביר איך אפשר להשתמש בחשבונות שירות כדי לבצע קריאה ל-AdSense Platforms API לצורך יצירה וניהול של חשבונות משנה.
שלב 1: יוצרים פרויקט חדש ב-Google Cloud (או משתמשים בפרויקט קיים)
אם יש לכם פרויקט קיים ב-Google Cloud, אתם יכולים להשתמש בו. אם לא, פועלים לפי המדריך הבא להגדרת פרויקט חדש:
https://cloud.google.com/resource-manager/docs/creating-managing-projects
שלב 2: יוצרים חשבון שירות
השימוש בחשבונות שירות הוא הדרך הטובה ביותר ליצור חשבונות משנה. כדי ליצור את חשבון השירות:
- דף service accounts ב-Google Cloud
- אפשר להשתמש בחשבון שירות קיים או ליצור חשבון חדש:
- לוחצים על '+ יצירת חשבון שירות'.
- ממלאים את הטופס 'פרטי חשבון השירות'
- שלבים 2 ו-3 בדף (מתן גישה לפרויקטים ולמשתמשים) הם אופציונליים
מידע נוסף על יצירה וניהול של חשבונות שירות
אחרי שיוצרים את חשבון השירות, צריך לשלוח אותו ל-Google כדי שיתווסף לחשבון AdSense. זה חיוני, כי לחשבון השירות צריכה להיות הרשאה לגשת לחשבון AdSense שלכם. יש להעביר את הבקשה דרך מנהל החשבון.
שלב 3: מפעילים את AdSense Platform API בפרויקט ב-Google Cloud
לא ניתן לגלות את AdSense Platform API, כך שצריך להיכנס לקישור הבא כדי להפעיל אותו בפרויקט:
https://console.developers.google.com/apis/api/adsenseplatform.googleapis.com/overview
שלב 4: יצירת מפתח שירות
כדי ליצור אסימוני גישה לשימוש בקריאות ל-API, צריך ליצור מפתח שירות. כך עושים זאת:
- דף service accounts ב-Google Cloud
- בעמודה 'פעולות', לוחצים על
לצד חשבון השירות שבו רוצים להשתמש כדי ליצור חשבונות משנה, ואז לוחצים על 'ניהול מפתחות'.
- לוחצים על 'הוספת מפתח' ובוחרים באפשרות 'יצירת מפתח חדש'.
- משאירים את האפשרות JSON מסומנת בתור סוג המפתח ולוחצים על 'Create' (יצירה).
- ייווצר קובץ JSON ויוריד למחשב. חשוב לשמור את המפתח הזה במקום בטוח, כי הוא ישמש לאימות של קריאות ה-API.
מידע נוסף על יצירה וניהול של מפתחות לחשבונות שירות
שלב 5: שימוש בספריות OAuth של Google ליצירת אסימון גישה
Google מספקת ספריות שיעזרו לכם ליצור אסימוני גישה, שאפשר להשתמש בהם כדי לבצע את הקריאות ל-API. כאן מוסבר איך יוצרים פרטי כניסה לחשבונות שירות:
https://developers.google.com/identity/protocols/oauth2/service-account#authorizingrequests
ההיקף של AdSense Platforms API הוא:
https://www.googleapis.com/auth/adsense
דוגמה ל-Python
from google.auth.transport import requests
from google.oauth2 import service_account
CREDENTIAL_SCOPES = ["https://www.googleapis.com/auth/adsense"]
CREDENTIALS_KEY_PATH = 'service.json'
def get_service_account_token():
credentials = service_account.Credentials.from_service_account_file(
CREDENTIALS_KEY_PATH, scopes=CREDENTIAL_SCOPES)
credentials.refresh(requests.Request())
return credentials.token
בשלב הזה, אתם מוכנים להתחיל לבצע קריאות ל-API. עדיין אין תמיכה בספריות לקוח ב-AdSense Platform API, ולכן צריך לשלוח במקום זאת בקשות HTTP ישירות. אסימון הגישה צריך להיכלל ככותרת בבקשת ה-HTTP. הכותרת אמורה להיראות כך:
Authorization: OAuth <credentials>
דוגמאות מפורטות מופיעות בדפי ה-API.