سير عمل حساب الخدمة

يتناول هذا الدليل كيفية الوصول إلى Google Ads API باستخدام حسابات الخدمة.

حساب الخدمة هو حساب ينتمي إلى تطبيقك بدلاً من مستخدم نهائي فردي. تستخدم حسابات الخدمة مسار OAuth 2.0 الذي لا يتطلب تفويضًا بشريًا، وتستخدم بدلاً من ذلك ملف مفتاح لا يمكن إلا لتطبيقك الوصول إليه.

يوفّر استخدام حسابات الخدمة ميزتَين رئيسيتَين:

  • يتم منح الإذن بالوصول إلى حسابات "إعلانات Google" من خلال Google Ads API كخطوة ضبط، وذلك بالاستفادة من ميزات التفويض وإدارة الحسابات التي توفّرها واجهة مستخدم "إعلانات Google". يوفّر ذلك على المطوّرين عناء إنشاء مسارات OAuth 2.0 والتعامل مع التعقيدات التي تتضمّن تفاعل المستخدمين وتخزين بيانات اعتمادهم وإدارة الرموز المميّزة.

  • لا يرتبط تفويض الوصول إلى حسابات "إعلانات Google" ببيانات اعتماد المستخدم الفردي، وقد يكون ذلك مفيدًا في الحالات التي يُتوقع فيها استمرار هذا التفويض حتى إذا غادر الموظف الذي فوّض الوصول في الأصل الفريق أو الشركة.

إعداد إذن الوصول إلى الحساب

  1. ابدأ بإنشاء حساب خدمة وبيانات اعتماد.

    نزِّل مفتاح حساب الخدمة بتنسيق JSON، ثم دوِّن رقم تعريف حساب الخدمة وعنوان بريده الإلكتروني.

  2. سجِّل الدخول إلى حسابك على "إعلانات Google" كمشرف. انتقِل إلى المشرف > الوصول والأمان.

  3. انقر على الزر + ضمن علامة التبويب المستخدمون.

  4. اكتب عنوان البريد الإلكتروني لحساب الخدمة في مربّع الإدخال البريد الإلكتروني. اختَر مستوى الوصول المناسب إلى الحساب (يُرجى العِلم أنّ حسابات الخدمة لا تتيح مستوى الوصول البريد الإلكتروني فقط)، ثم انقر على الزر إضافة حساب.

    يتم منح حساب الخدمة إذن الوصول.

  5. اختياري: وفقًا للإعدادات التلقائية، لا يمكنك منح إذن وصول المشرف إلى حساب خدمة. اتّبِع مبدأ الحدّ الأدنى من الأذونات المميّزة ولا تمنح إذن وصول المشرف إلا إذا كانت طلبات البيانات من واجهة برمجة التطبيقات تتطلّب ذلك. يمكنك ترقية الوصول على النحو التالي:

    • انقر على سهم القائمة المنسدلة بجانب مستوى الوصول لحساب الخدمة في عمود مستوى الوصول.
    • اختَر مشرف من القائمة المنسدلة.

إعداد مكتبة العميل

اختَر علامة التبويب المقابلة للغة البرمجة التي تستخدمها للحصول على تعليمات حول كيفية ضبط مكتبة العميل. إذا كان حساب الخدمة يصل إلى حسابات العملاء من خلال حساب إداري على "إعلانات Google"، اضبط أيضًا login-customer-id (أو loginCustomerId) على رقم تعريف العميل المكوّن من 10 أرقام لهذا الحساب الإداري بدون واصلات (راجِع رقم تعريف العميل لتسجيل الدخول).

جافا

اضبط مسار JSON للمفتاح الخاص في الإعدادات. إذا كنت تستخدم ملف ads.properties، أضِف ما يلي:

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH

يُرجى الاطّلاع على دليل الإعداد لمزيد من التفاصيل.

NET.

اضبط السمتَين OAuth2Mode وOAuth2SecretsJsonPath في مثيل GoogleAdsConfig واستخدِمهما لإعداد عنصر GoogleAdsClient.

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "JSON_KEY_FILE_PATH",
    // ...
};
GoogleAdsClient client = new GoogleAdsClient(config);

يُرجى الاطّلاع على دليل الإعداد لمزيد من التفاصيل.

Python

اضبط مسار JSON للمفتاح الخاص في الإعدادات. إذا كنت تستخدم ملف google-ads.yaml أو سلسلة YAML أو dict، أضِف ما يلي:

json_key_file_path: JSON_KEY_FILE_PATH

إذا كنت تستخدم متغيّرات البيئة، أضِف ما يلي إلى إعدادات Bash أو بيئتها:

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

يُرجى الاطّلاع على دليل الإعداد لمزيد من التفاصيل.

PHP

اضبط المفاتيح التالية في ملف google_ads_php.ini.

[OAUTH2]
; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"

يُرجى الاطّلاع على دليل الإعداد لمزيد من التفاصيل.

Ruby

اضبط المفاتيح التالية في google_ads_config.rb.

c.keyfile = 'JSON_KEY_FILE_PATH'

يُرجى الاطّلاع على دليل الإعداد لمزيد من التفاصيل.

Perl

اضبط مسار JSON للمفتاح الخاص في الإعدادات. إذا كنت تستخدم ملف googleads.properties، أضِف ما يلي:

jsonKeyFilePath=JSON_KEY_FILE_PATH

إذا كنت تستخدم متغيّرات البيئة، أضِف ما يلي إلى إعدادات Bash أو بيئتها:

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

يُرجى الاطّلاع على دليل الإعداد لمزيد من التفاصيل.

curl

ابدأ بضبط حساب الخدمة كبيانات الاعتماد النشطة في gcloud CLI.

gcloud auth login --cred-file=JSON_KEY_FILE_PATH

بعد ذلك، يمكنك جلب رمز مميّز للوصول إلى OAuth 2.0 من أجل Google Ads API.

gcloud auth \
  print-access-token \
  --scopes='https://www.googleapis.com/auth/adwords'

يمكنك استخدام رمز الدخول في طلبات البيانات من واجهة برمجة التطبيقات. يوضّح المثال التالي كيفية تنفيذ تقرير حملة باستخدام طريقة GoogleAdsService.SearchStream لاسترداد الحملات في حسابك. لا يتناول هذا الدليل تفاصيل إعداد التقارير.

curl -i -X POST \
  https://googleads.googleapis.com/v26/customers/CUSTOMER_ID/googleAds:searchStream \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "login-customer-id: LOGIN_CUSTOMER_ID" \
  --data-binary "@query.json"

محتوى query.json هو كما يلي:

{
  "query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}