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

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

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

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

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

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

إعداد إمكانية الوصول إلى الحساب

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

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

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

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

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

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

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

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

إعدادات مكتبة البرامج

اختَر علامة التبويب التي تتوافق مع لغة البرمجة للحصول على تعليمات حول كيفية ضبط مكتبة البرامج. إذا كان حساب الخدمة يصل إلى حسابات العملاء من خلال حساب إداري على "إعلانات 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.

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/v25/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"
}