این کتابخانه به دنبال یک فایل پیکربندی در System.getProperty("user.home") + "/ads.properties" میگردد. میتوانید این مسیر و نام فایل را در زمان اجرا هنگام ساخت GoogleAdsClient با استفاده از هر یک از مکانیسمهای زیر بازنویسی کنید:
- فراخوانی
fromPropertiesFile(PATH_TO_CONFIG_FILE)که در آنPATH_TO_CONFIG_FILEمسیر و نام فایل پیکربندی شما است. - متغیر محیطی
GOOGLE_ADS_CONFIGURATION_FILE_PATHروی مسیر و نام فایل پیکربندی خود تنظیم کنید و سپسfromPropertiesFile()را فراخوانی کنید.
قالب فایل پیکربندی، قالب یک فایل Java Properties از جفتهای کلید-مقدار است. کلیدهای پشتیبانیشده بسته به جریان احراز هویت انتخابشده متفاوت هستند.
کلیدهای پشتیبانیشده برای جریانهای برنامههای دسکتاپ و وب
اگر از جریان برنامه تک کاربره یا چند کاربره استفاده میکنید، کلیدهای پشتیبانی شده به شرح زیر هستند:
# Credential for accessing Google's OAuth servers.
# Provided by console.cloud.google.com.
api.googleads.clientId=INSERT_CLIENT_ID_HERE
# Credential for accessing Google's OAuth servers.
# Provided by console.cloud.google.com.
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
# Renewable OAuth credential associated with 1 or more Google Ads accounts.
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE
# Token which provides access to the Google Ads API in general. It does not
# grant access to any particular ad account (OAuth is used for this purpose).
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
# Required for manager accounts only: Specify the login customer ID used to
# authenticate API calls. This will be the customer ID of the authenticated
# manager account. You can also specify this later in code if your application
# uses multiple manager account + OAuth pairs.
#
# api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE
# Only required if explicitly instructed by the service documentation.
# api.googleads.linkedCustomerId=INSERT_LINKED_CUSTOMER_ID_HERE
# Maximum allowed response payload size, in bytes.
# Customize this to allow response sizes for GoogleAdsService.search and
# GoogleAdsService.searchStream API calls to exceed the default limit of 64MB.
# api.googleads.maxInboundMessageBytes=INSERT_MAX_INBOUND_MESSAGE_BYTES_HERE
# Specifies whether to use application default credentials.
api.googleads.useApplicationDefaultCredentials=false
کلیدهای پشتیبانیشده برای حسابهای خدماتی
اگر از جریان حساب سرویس استفاده میکنید، کلیدهای پشتیبانیشده به شرح زیر هستند:
# Path to the service account secrets file in JSON format.
# Provided by console.cloud.google.com.
api.googleads.serviceAccountSecretsPath=INSERT_PATH_TO_JSON_HERE
# Email address of the user to impersonate.
# This should be a user who has access to your Google Ads account and is in the same
# Google Apps Domain as the service account.
api.googleads.serviceAccountUser=INSERT_USER_EMAIL_ADDRESS_HERE
# Token which provides access to the Google Ads API in general. It does not
# grant access to any particular ad account (OAuth is used for this purpose).
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
# Required for manager accounts only: Specify the login customer ID used to
# authenticate API calls. This will be the customer ID of the authenticated
# manager account. You can also specify this later in code if your application
# uses multiple manager account + OAuth pairs.
#
# api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE
استفاده از متغیرهای محیطی
این کتابخانه از تمام متغیرهای محیطی مشترک در تمام کتابخانههای کلاینت API گوگل ادز پشتیبانی میکند. جدول زیر متغیر محیطی مربوط به هر ویژگی فایل پیکربندی را نشان میدهد.
| ویژگی فایل پیکربندی | متغیر محیطی |
|---|---|
api.googleads.developerToken | GOOGLE_ADS_DEVELOPER_TOKEN |
api.googleads.clientId | GOOGLE_ADS_CLIENT_ID |
api.googleads.clientSecret | GOOGLE_ADS_CLIENT_SECRET |
api.googleads.refreshToken | GOOGLE_ADS_REFRESH_TOKEN |
api.googleads.serviceAccountSecretsPath | GOOGLE_ADS_JSON_KEY_FILE_PATH |
api.googleads.serviceAccountUser | GOOGLE_ADS_IMPERSONATED_EMAIL |
api.googleads.loginCustomerId | GOOGLE_ADS_LOGIN_CUSTOMER_ID |
api.googleads.linkedCustomerId | GOOGLE_ADS_LINKED_CUSTOMER_ID |
api.googleads.maxInboundMessageBytes | GOOGLE_ADS_MAX_INBOUND_MESSAGE_BYTES |
api.googleads.useApplicationDefaultCredentials | GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS |
پس از تنظیم متغیرهای محیطی مناسب، با فراخوانی fromEnvironment() در سازنده، GoogleAdsClient خود را پیکربندی کنید.
GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
.fromEnvironment()
.build();
ترکیب رویکردهای پیکربندی
GoogleAdsClient و سازنده آن از ترکیب استراتژیهای پیکربندی مختلف پشتیبانی میکنند. برای مثال، میتوانید با استفاده از قطعه کد زیر، از متغیرهای محیطی برای پیکربندی اعتبارنامههای نمونه و از یک فایل ویژگی برای سایر ویژگیها استفاده کنید.
GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
.fromEnvironment()
.fromPropertiesFile()
.build();
در این مثال، کتابخانهی کلاینت برای هر ویژگی که هم از طریق متغیر محیطی و هم از طریق ورودی در فایل ویژگیها تعریف شده باشد، از مقدار فایل ویژگیها استفاده خواهد کرد. برای رفتار معکوس، کافیست fromPropertiesFile() قبل از fromEnvironment() فراخوانی کنید.
شما میتوانید قبل از فراخوانی build() تغییرات بیشتری را در زمان اجرا با استفاده از سایر متدهای پیکربندی سازنده ایجاد کنید.