אימות קריאות ל-API
בדוגמה הזו אנחנו מראים איך אפשר להשתמש בחשבונות שירות כדי לשלוח קריאה ל-AdSense Platforms API כדי ליצור ולנהל חשבונות משנה.
שלב 1: יצירת פרויקט חדש ב-Google Cloud (או שימוש בפרויקט קיים)
אם יש לכם פרויקט קיים ב-Google Cloud, אתם מוזמנים להשתמש בו. אם לא, תוכלו להיעזר במדריך הבא להגדרת פרויקט חדש:
https://cloud.google.com/resource-manager/docs/creating-managing-projects
שלב 2: יוצרים חשבון שירות
הדרך הטובה ביותר ליצור חשבונות משנה היא להשתמש בחשבונות שירות. כדי ליצור חשבון שירות:
- כניסה לדף חשבונות שירות ב-Google Cloud
- אפשר להשתמש בחשבון שירות קיים או ליצור חשבון חדש:
- לוחצים על '+ יצירת חשבון שירות'.
- ממלאים את הפרטים של 'פרטי חשבון השירות' הטופס הזה
- שלבים 2 ו-3 בדף (הענקת גישה לפרויקטים ולמשתמשים) הם אופציונליים
מידע נוסף על יצירה וניהול של חשבונות שירות
לאחר יצירת חשבון השירות, צריך לשלוח אותו ל-Google כדי להוסיף אותו לחשבון AdSense. הפעולה הזו חיונית, כי לחשבון השירות צריך להיות הרשאה לגשת לחשבון AdSense שלכם. יש לפנות אליו דרך מנהל החשבון.
שלב 3: מפעילים את AdSense Platform API לפרויקט ב-Google Cloud
ממשק ה-API של פלטפורמת AdSense אינו גלוי, ופירוש הדבר שעליך להיכנס לקישור הבא כדי להפעיל אותו בפרויקט שלך:
https://console.developers.google.com/apis/api/adsenseplatform.googleapis.com/overview
שלב 4: יצירת מפתח שירות
כדי ליצור אסימוני גישה לשימוש בקריאות ל-API, צריך ליצור מפתח שירות. כך עושים זאת:
- כניסה לדף חשבונות שירות ב-Google Cloud
- בעמודה 'פעולות', עבור חשבון השירות שבו רוצים להשתמש כדי ליצור חשבונות משנה, לוחצים על ולאחר מכן על 'ניהול מפתחות'.
- לוחצים על 'הוספת מפתח' ואז בוחרים באפשרות 'יצירת מפתח חדש'
- משאירים את שדה ה-JSON נבחר כסוג המפתח ולוחצים על 'יצירה'
- קובץ 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 יש דוגמאות.