مصادقة طلبات البيانات من واجهة برمجة التطبيقات

في هذا المثال، نوضّح كيفية استخدام حسابات الخدمة لطلب واجهة برمجة تطبيقات 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 لمشروعك على Google Cloud

إنّ واجهة برمجة تطبيقات AdSense Platform غير قابلة للاكتشاف، ما يعني أنه عليك الانتقال إلى الرابط التالي لتفعيلها لمشروعك:

https://console.developers.google.com/apis/api/adsenseplatform.googleapis.com/overview

الخطوة 4: إنشاء مفتاح خدمة

لإنشاء رموز الدخول للاستخدام في طلبات البيانات من واجهة برمجة التطبيقات، عليك إنشاء مفتاح خدمة. يُرجى اتّباع الخطوات التالية:

  • انتقِل إلى صفحة حسابات الخدمة في Google Cloud.
  • في عمود الإجراءات، انقر على ثم على "إدارة المفاتيح" لحساب الخدمة الذي تريد استخدامه لإنشاء حسابات فرعية.
  • عليك النقر على "إضافة مفتاح"، ثم اختيار "إنشاء مفتاح جديد".
  • أبقِ على تنسيق JSON محددًا كنوع المفتاح، وانقر على "إنشاء".
  • سيتم إنشاء ملف json وتنزيله على جهاز الكمبيوتر. حافِظ على هذا الأمان لأنّه سيكون مطلوبًا لمصادقة طلبات بيانات من واجهة برمجة التطبيقات.

تعرَّف على المزيد من المعلومات عن إنشاء مفاتيح حساب الخدمة وإدارتها.

الخطوة 5: استخدام مكتبات OAuth من Google لإنشاء رمز دخول

توفّر Google مكتبات للمساعدة في إنشاء رموز الدخول التي يمكن استخدامها في إجراء طلبات البيانات من واجهة برمجة التطبيقات. تعرَّف على كيفية إنشاء بيانات اعتماد لحسابات الخدمة من هنا:

https://developers.google.com/identity/protocols/oauth2/service-account#authorizingrequests

يكون نطاق واجهة برمجة تطبيقات AdSense Platforms على النحو التالي: 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

في هذه المرحلة، تكون جاهزًا لبدء استدعاء واجهات برمجة التطبيقات. ولأنّ مكتبات العملاء غير متوافقة مع واجهة برمجة تطبيقات AdSense Platform حتى الآن، يجب تقديم طلبات HTTP مباشرة بدلاً من ذلك. يجب تضمين رمز الدخول كرأس في طلب HTTP. يُفترض أن يبدو العنوان على النحو التالي:

Authorization: OAuth <credentials>

وقد تم تضمين الأمثلة في صفحات واجهة برمجة التطبيقات.