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