يناقش هذا الدليل كيفية الوصول إلى Google Ads API باستخدام حسابات الخدمة.
حساب الخدمة هو حساب يخصّ تطبيقك بدلاً من مستخدم نهائي فردي. تستخدم حسابات الخدمة مسار OAuth 2.0 لا يتطلّب إذنًا من مستخدم، بل تستخدم بدلاً من ذلك ملف مفتاح لا يمكن لتطبيقك الوصول إليه إلا.
يوفّر استخدام حسابات الخدمة ميزتَين رئيسيتَين:
يتم منح إذن الوصول إلى Google Ads API لحسابات "إعلانات Google" كخطوة إعداد، وذلك من خلال الاستفادة من ميزات إدارة الحسابات ومنح الأذونات التي توفّرها واجهة مستخدم "إعلانات Google". يوفّر ذلك جهد المطوّرين من خلال عدم الحاجة إلى إنشاء مسارات OAuth 2.0 والتعامل مع المشاكل التي تتضمّن تفاعلاً مع المستخدم وتخزين بيانات اعتماد المستخدم وإدارة الرموز المميّزة.
لا يرتبط إذن الوصول إلى حسابات "إعلانات Google" ببيانات اعتماد مستخدم فردية، وقد يكون ذلك مفيدًا في الحالات التي يُتوقَّع فيها استمرار هذا الإذن حتى إذا غادر الموظف الذي منح الإذن في الأصل الفريق أو الشركة.
إعداد إذن الوصول إلى الحساب
ابدأ بـ إنشاء حساب خدمة و بيانات اعتماد.
نزِّل مفتاح حساب الخدمة بتنسيق JSON واحتفِظ بمعرّف حساب الخدمة وعنوان بريده الإلكتروني.
سجِّل الدخول إلى حسابك على "إعلانات Google" بصفتك مشرفًا. انتقِل إلى المشرف > الوصول والأمان.
انقر على الزرّ + ضِمن علامة التبويب المستخدمون.
اكتب عنوان البريد الإلكتروني لحساب الخدمة في مربّع الإدخال البريد الإلكتروني. اختَر مستوى الوصول المناسب إلى الحساب (يُرجى العِلم أنّ حسابات الخدمة لا تتيح مستوى الوصول البريد الإلكتروني فقط) وانقر على الزرّ إضافة حساب.
تم منح إذن الوصول إلى حساب الخدمة.
اختياري: لا يمكنك منح إذن وصول إداري إلى حساب خدمة بشكلٍ تلقائي. اتّبِع مبدأ الحدّ الأدنى من الأذونات المميّزة وامنح إذن الوصول الإداري فقط إذا كانت طلبات بيانات من واجهة برمجة التطبيقات تتطلّبه. يمكنك ترقية إذن الوصول على النحو التالي:
- انقر على سهم القائمة المنسدلة بجانب مستوى وصول حساب الخدمة في عمود مستوى الوصول.
- اختَر مشرف من القائمة المنسدلة.
إعداد مكتبة البرامج
اختَر علامة التبويب التي تتوافق مع لغة البرمجة التي تستخدمها للحصول على تعليمات حول كيفية إعداد مكتبة البرامج. إذا كان حساب الخدمة يصل إلى حسابات العملاء من خلال حساب إداري على "إعلانات 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/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"
}