אימות קריאות ל-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 יש דוגמאות.