پیکربندی

کتابخانه به دنبال یک فایل پیکربندی در 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

کلیدهای پشتیبانی شده برای حساب های خدمات

اگر از جریان حساب سرویس استفاده می کنید، کلیدهای پشتیبانی شده به شرح زیر هستند:

# 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

استفاده از متغیرهای محیطی

این کتابخانه از همه متغیرهای محیطی مشترک برای همه کتابخانه های سرویس گیرنده Google Ads 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

هنگامی که متغیرهای محیط مناسب را تنظیم کردید، GoogleAdsClient خود را با فراخوانی fromEnvironment() در سازنده پیکربندی کنید.

GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
  .fromEnvironment()
  .build();

ترکیب رویکردهای پیکربندی

GoogleAdsClient و سازنده آن از ترکیب استراتژی‌های پیکربندی مختلف پشتیبانی می‌کنند. برای مثال، می‌توانید از متغیرهای محیطی برای پیکربندی اعتبار نمونه و یک فایل خواص برای سایر ویژگی‌ها با استفاده از قطعه زیر استفاده کنید.

GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
    .fromEnvironment()
    .fromPropertiesFile()
    .build();

در این مثال، کتابخانه سرویس گیرنده از مقدار فایل خواص برای هر ویژگی که هم از طریق متغیر محیطی آن و هم از طریق یک ورودی در فایل خواص تعریف می شود، استفاده می کند. برای رفتار مخالف، به سادگی fromPropertiesFile() قبل از fromEnvironment() فراخوانی کنید.

قبل از فراخوانی build() می توانید تغییرات بیشتری را در زمان اجرا با استفاده از روش های پیکربندی دیگر سازنده ایجاد کنید.