يناقش هذا الدليل كيفية الوصول إلى Google Ads API باستخدام حسابات الخدمة.
حساب الخدمة هو حساب يخص تطبيقك بدلاً من مستخدم نهائي فردي. تستخدم حسابات الخدمة عملية OAuth 2.0 لا تتطلّب تفويضًا من المستخدم، بل تستخدم بدلاً من ذلك ملف مفتاح لا يمكن لتطبيقك الوصول إليه.
يوفر استخدام حسابات الخدمة فائدتَين رئيسيتَين:
يتم منح إذن الوصول إلى حسابات "إعلانات Google" من خلال Google Ads API كخطوة إعداد، وذلك بالاستفادة من ميزات منح الإذن وإدارة الحسابات التي توفّرها واجهة مستخدم "إعلانات Google". يوفّر ذلك جهد المطوّرين من خلال عدم الحاجة إلى إنشاء مسارات OAuth 2.0 والتعامل مع التعقيدات التي تتضمّن تفاعل المستخدم وتخزين بيانات الاعتماد وما إلى ذلك.
لا يرتبط إذن الوصول إلى حسابات "إعلانات Google" ببيانات اعتماد المستخدم الفردية، ما قد يكون مفيدًا في الحالات التي يُتوقّع فيها استمرار هذا الإذن حتى إذا غادر الموظف الذي منح الإذن في الأصل الفريق أو الشركة.
إعداد إمكانية الوصول إلى الحساب
ابدأ بإنشاء حساب خدمة وبيانات اعتماد.
نزِّل مفتاح حساب الخدمة بتنسيق JSON، واحتفظ بمعرّف حساب الخدمة وبريده الإلكتروني.
سجِّل الدخول إلى حسابك على "إعلانات Google" بصفتك مشرفًا. انتقِل إلى المشرف > الوصول والأمان.
انقر على الزر + ضمن علامة التبويب المستخدمون.
اكتب عنوان البريد الإلكتروني لحساب الخدمة في مربّع الإدخال البريد الإلكتروني. اختَر مستوى الوصول المناسب إلى الحساب وانقر على زر إضافة حساب. يُرجى العِلم أنّ مستويَي الوصول "البريد الإلكتروني" و"المشرف" غير متاحَين لحسابات الخدمة.
يتم منح حساب الخدمة إذن الوصول.
إعداد مكتبة البرامج
اختَر علامة التبويب التي تتوافق مع لغة البرمجة للحصول على تعليمات حول كيفية إعداد مكتبة برامج العميل.
Java
اضبط مسار JSON للمفتاح الخاص في الإعدادات. إذا كنت تستخدم ملف ads.properties
، أضِف ما يلي:
api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
راجِع دليل الإعداد للاطّلاع على تفاصيل إضافية.
NET.
اضبط OAuth2Mode
وOAuth2SecretsJsonPath
على مثيل GoogleAdsConfig
واستخدِمه لتهيئة عنصر GoogleAdsClient
.
GoogleAdsConfig config = new GoogleAdsConfig()
{
OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
OAuth2SecretsJsonPath = "PATH_TO_JSON_SECRETS_PATH",
...
};
GoogleAdsClient client = new GoogleAdsClient(config);
راجِع دليل الإعداد للاطّلاع على تفاصيل إضافية.
Python
اضبط مسار JSON للمفتاح الخاص في الإعدادات. إذا كنت تستخدم
google-ads.yaml file
أو سلسلة 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
. راجِع دليل الإعداد للحصول على تفاصيل إضافية.
; 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=PATH_TO_CREDENTIALS_JSON
بعد ذلك، احصل على رمز دخول 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/v21/customers/CUSTOMER_ID/googleAds:searchStream \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "developer-token: DEVELOPER_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"
}