این راهنما نحوه دسترسی به Google Ads API با حسابهای سرویس را توضیح میدهد.
حساب خدمات حسابی است که بهجای کاربر نهایی متعلق به برنامه شما است. حسابهای سرویس از جریان OAuth 2.0 استفاده میکنند که به مجوز انسانی نیاز ندارد، بلکه بهجای آن از فایل کلیدی استفاده میکند که فقط برنامه شما میتواند به آن دسترسی داشته باشد.
استفاده از حسابهای سرویس دو مزیت کلیدی دارد:
مجوز دسترسی Google Ads API به حسابهای Google Ads بهعنوان یک مرحله پیکربندی انجام میشود و از ویژگیهای مجوز و مدیریت حساب ارائهشده توسط رابط کاربری Google Ads استفاده میکند. این کار باعث میشود توسعهدهنده مجبور نباشد جریانهای OAuth 2.0 را بسازد و با پیچیدگیهای مربوط به تعامل کاربر، ذخیره اعتبارنامههای کاربر، و مدیریت ژتون سروکار داشته باشد و درنتیجه در تلاشهای توسعهدهنده صرفهجویی میشود.
مجوز دسترسی به حسابهای Google Ads به اعتبارنامه کاربر فردی وابسته نیست، که ممکن است در مواردی مفید باشد که انتظار میرود چنین مجوزی ادامه یابد حتی اگر کارمندی که در ابتدا دسترسی را مجاز کرده است، تیم یا شرکت را ترک کند.
راهاندازی دسترسی به حساب
با ایجاد حساب سرویس و اعتبارنامه شروع کنید.
کلید حساب خدمات را در قالب JSON بارگیری کنید و شناسه و ایمیل حساب خدمات را یادداشت کنید.
بهعنوان سرپرست به سیستم حساب Google Ads خود وارد شوید. به سرپرست > دسترسی و امنیت پیمایش کنید.
روی دکمه + در زیر برگه کاربران کلیک کنید.
ایمیل حساب سرویس را در چارگوش ورودی ایمیل تایپ کنید. سطح دسترسی مناسب به حساب را انتخاب کنید (توجه داشته باشید که حسابهای سرویس از سطح دسترسی فقط ایمیل پشتیبانی نمیکنند) و روی دکمه افزودن حساب کلیک کنید.
به حساب سرویس دسترسی اعطا شده است.
اختیاری: بهطور پیشفرض، نمیتوانید دسترسی سرپرست به حساب سرویس اعطا کنید. از اصل حداقل امتیاز پیروی کنید و دسترسی سرپرست را فقط درصورتی اعطا کنید که فراخوانیهای API شما به آن نیاز داشته باشد. میتوانید دسترسی را به روشهای زیر ارتقا دهید:
- روی کلید کرکرهای کنار سطح دسترسی حساب سرویس در ستون سطح دسترسی کلیک کنید.
- سرپرست را از فهرست کرکرهای انتخاب کنید.
پیکربندی کتابخانه مشتری
برگه مربوط به زبان برنامهنویسیتان را انتخاب کنید تا دستورالعملهای مربوط به
نحوه پیکربندی کتابخانه کارخواه را ببینید. اگر حساب سرویس شما ازطریق حساب مدیر Google Ads به حسابهای مشتری دسترسی دارد، login-customer-id (یا loginCustomerId) را نیز روی شناسه مشتری ۱۰ رقمی آن حساب مدیر بدون خط تیره تنظیم کنید (به شناسه مشتری ورود به سیستم مراجعه کنید).
جاوا
مسیر JSON کلید خصوصی را در پیکربندیتان تنظیم کنید. اگر از فایل
ads.properties استفاده میکنید، موارد زیر را اضافه کنید:
api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
برای جزئیات بیشتر، راهنمای پیکربندی را ببینید.
دات نت
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'
برای جزئیات بیشتر، راهنمای پیکربندی را ببینید.
پرل
مسیر 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"
}