ไลบรารีจะค้นหาไฟล์การกำหนดค่าใน System.getProperty("user.home") + "/ads.properties"
คุณลบล้างเส้นทางและชื่อไฟล์นี้ขณะรันไทม์เมื่อสร้าง GoogleAdsClient
ได้โดยใช้กลไกใดก็ได้ต่อไปนี้
- เรียก
fromPropertiesFile(PATH_TO_CONFIG_FILE)
โดยที่PATH_TO_CONFIG_FILE
คือเส้นทางและชื่อไฟล์ของไฟล์การกำหนดค่า - ตั้งค่าตัวแปรสภาพแวดล้อม
GOOGLE_ADS_CONFIGURATION_FILE_PATH
เป็นเส้นทางและชื่อไฟล์ของไฟล์การกำหนดค่า จากนั้นให้เรียกใช้fromPropertiesFile()
รูปแบบของไฟล์การกำหนดค่าคือไฟล์พร็อพเพอร์ตี้ Java ของคู่คีย์-ค่า คีย์ที่รองรับจะแตกต่างกันไปตามขั้นตอนการตรวจสอบสิทธิ์ที่เลือก
คีย์ที่รองรับสำหรับโฟลว์บนเดสก์ท็อปและเว็บแอปพลิเคชัน
หากคุณใช้ขั้นตอนของแอปพลิเคชันในเดสก์ท็อปหรือเว็บ คีย์ที่รองรับมีดังนี้
# 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
คีย์ที่รองรับสำหรับบัญชีบริการ
หากคุณใช้ขั้นตอนของบัญชีบริการ คีย์ที่รองรับมีดังต่อไปนี้
# 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 |
เมื่อตั้งค่าตัวแปรสภาพแวดล้อมที่เหมาะสมแล้ว ให้กำหนดค่า GoogleAdsClient
โดยเรียกใช้ fromEnvironment()
ในเครื่องมือสร้าง
GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
.fromEnvironment()
.build();
การรวมวิธีการกำหนดค่า
การรองรับ GoogleAdsClient
และเครื่องมือสร้างที่รวมกลยุทธ์การกำหนดค่าต่างๆ เข้าด้วยกัน ตัวอย่างเช่น คุณสามารถใช้ตัวแปรสภาพแวดล้อมเพื่อกำหนดค่าข้อมูลเข้าสู่ระบบของอินสแตนซ์และไฟล์พร็อพเพอร์ตี้สำหรับแอตทริบิวต์อื่นๆ โดยใช้ข้อมูลโค้ดต่อไปนี้
GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
.fromEnvironment()
.fromPropertiesFile()
.build();
ในตัวอย่างนี้ ไลบรารีของไคลเอ็นต์จะใช้ค่าจากไฟล์พร็อพเพอร์ตี้สำหรับแอตทริบิวต์ใดๆ ก็ตามที่กำหนดไว้ทั้งผ่านตัวแปรสภาพแวดล้อมและรายการในไฟล์พร็อพเพอร์ตี้ หากพบลักษณะการทำงานแบบตรงกันข้าม เพียงเรียกใช้ fromPropertiesFile()
ก่อน fromEnvironment()
คุณทำการเปลี่ยนแปลงเพิ่มเติมระหว่างรันไทม์ได้โดยใช้วิธีการกำหนดค่าอื่นๆ ของเครื่องมือสร้างก่อนเรียกใช้ build()