配置
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
该库会在 System.getProperty("user.home") + "/ads.properties"
中查找配置文件。您可以在运行时通过以下任一机制构造 GoogleAdsClient
时替换此路径和文件名:
- 调用
fromPropertiesFile(PATH_TO_CONFIG_FILE)
,其中 PATH_TO_CONFIG_FILE
是配置文件的路径和文件名。
- 将环境变量
GOOGLE_ADS_CONFIGURATION_FILE_PATH
设置为配置文件的路径和文件名,然后调用 fromPropertiesFile()
。
配置文件的格式为 Java 键值对 Properties 文件。支持的密钥因所选的身份验证流程而异。
桌面应用和 Web 应用流程支持的密钥
如果您使用的是桌面或网页应用流程,则支持的键如下所示:
# 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 |
设置好相应的环境变量后,通过在构建器上调用 fromEnvironment()
来配置 GoogleAdsClient
。
GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
.fromEnvironment()
.build();
组合使用配置方法
GoogleAdsClient
及其构建器支持组合不同的配置策略。例如,您可以使用环境变量来配置实例的凭据,并使用以下代码段来配置其他属性的属性文件。
GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
.fromEnvironment()
.fromPropertiesFile()
.build();
在此示例中,如果某个属性同时通过其环境变量和属性文件中的条目进行定义,客户端库将使用属性文件中的值。如需实现相反的行为,只需在 fromEnvironment()
之前调用 fromPropertiesFile()
即可。
在调用 build()
之前,您可以使用构建器的其他配置方法在运行时进行进一步更改。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-26。
[null,null,["最后更新时间 (UTC):2025-08-26。"],[[["\u003cp\u003eThe Google Ads API Java client library uses a configuration file (\u003ccode\u003eads.properties\u003c/code\u003e by default) or environment variables for settings like credentials and customer IDs.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can authenticate using desktop/web application flows (client ID, secret, refresh token) or service accounts (JSON key file path, impersonated email).\u003c/p\u003e\n"],["\u003cp\u003eThe configuration file format follows Java Properties standards, with specific keys for each authentication method.\u003c/p\u003e\n"],["\u003cp\u003eEnvironment variables can override or complement the configuration file, offering flexibility in setting up the client.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eGoogleAdsClient\u003c/code\u003e builder allows combining configuration approaches, prioritizing the last method called for overlapping settings.\u003c/p\u003e\n"]]],[],null,["# Configuration\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nThe library looks for a configuration file in\n`System.getProperty(\"user.home\") + \"/ads.properties\"`. You can override this\npath and file name at runtime when constructing the `GoogleAdsClient` using\neither of the following mechanisms:\n\n- Call `fromPropertiesFile(PATH_TO_CONFIG_FILE)`, where `PATH_TO_CONFIG_FILE` is the path and file name of your configuration file.\n- Set the environment variable `GOOGLE_ADS_CONFIGURATION_FILE_PATH` to the path and file name of your configuration file, and then call `fromPropertiesFile()`.\n\nThe format of the configuration file is that of a Java\n[Properties](//docs.oracle.com/javase/tutorial/essential/environment/properties.html)\nfile of key value pairs. The supported keys vary depending on the chosen\nauthentication flow.\n\nSupported keys for desktop and web application flows\n----------------------------------------------------\n\nIf you are using the [desktop](/google-ads/api/docs/client-libs/java/oauth-desktop) or\n[web](/google-ads/api/docs/client-libs/java/oauth-web) application flow, the supported keys\nare as follows: \n\n # Credential for accessing Google's OAuth servers.\n # Provided by console.cloud.google.com.\n api.googleads.clientId=INSERT_CLIENT_ID_HERE\n\n # Credential for accessing Google's OAuth servers.\n # Provided by console.cloud.google.com.\n api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE\n\n # Renewable OAuth credential associated with 1 or more Google Ads accounts.\n api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE\n\n # Token which provides access to the Google Ads API in general. It does not\n # grant access to any particular ad account (OAuth is used for this purpose).\n api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE\n\n # Required for manager accounts only: Specify the login customer ID used to\n # authenticate API calls. This will be the customer ID of the authenticated\n # manager account. You can also specify this later in code if your application\n # uses multiple manager account + OAuth pairs.\n #\n # api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE\n\n # Only required if explicitly instructed by the service documentation.\n # api.googleads.linkedCustomerId=INSERT_LINKED_CUSTOMER_ID_HERE\n\n # Maximum allowed response payload size, in bytes.\n # Customize this to allow response sizes for GoogleAdsService.search and\n # GoogleAdsService.searchStream API calls to exceed the default limit of 64MB.\n # api.googleads.maxInboundMessageBytes=INSERT_MAX_INBOUND_MESSAGE_BYTES_HERE\n\nSupported keys for service accounts\n-----------------------------------\n\nIf you are using the [service account](/google-ads/api/docs/client-libs/java/oauth-service)\nflow, the supported keys are as follows: \n\n # Path to the service account secrets file in JSON format.\n # Provided by console.cloud.google.com.\n api.googleads.serviceAccountSecretsPath=INSERT_PATH_TO_JSON_HERE\n\n # Email address of the user to impersonate.\n # This should be a user who has access to your Google Ads account and is in the same\n # Google Apps Domain as the service account.\n api.googleads.serviceAccountUser=INSERT_USER_EMAIL_ADDRESS_HERE\n\n # Token which provides access to the Google Ads API in general. It does not\n # grant access to any particular ad account (OAuth is used for this purpose).\n api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE\n\n # Required for manager accounts only: Specify the login customer ID used to\n # authenticate API calls. This will be the customer ID of the authenticated\n # manager account. You can also specify this later in code if your application\n # uses multiple manager account + OAuth pairs.\n #\n # api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE\n\nUsing environment variables\n---------------------------\n\nThe library supports all of the [environment variables common to all Google Ads API\nclient libraries](/google-ads/api/docs/client-libs#configuration). The table below shows the\nenvironment variable that corresponds to each configuration file property.\n\n| Configuration file property | Environment variable |\n|-------------------------------------------|----------------------------------------|\n| `api.googleads.developerToken` | `GOOGLE_ADS_DEVELOPER_TOKEN` |\n| `api.googleads.clientId` | `GOOGLE_ADS_CLIENT_ID` |\n| `api.googleads.clientSecret` | `GOOGLE_ADS_CLIENT_SECRET` |\n| `api.googleads.refreshToken` | `GOOGLE_ADS_REFRESH_TOKEN` |\n| `api.googleads.serviceAccountSecretsPath` | `GOOGLE_ADS_JSON_KEY_FILE_PATH` |\n| `api.googleads.serviceAccountUser` | `GOOGLE_ADS_IMPERSONATED_EMAIL` |\n| `api.googleads.loginCustomerId` | `GOOGLE_ADS_LOGIN_CUSTOMER_ID` |\n| `api.googleads.linkedCustomerId` | `GOOGLE_ADS_LINKED_CUSTOMER_ID` |\n| `api.googleads.maxInboundMessageBytes` | `GOOGLE_ADS_MAX_INBOUND_MESSAGE_BYTES` |\n\nOnce you have set the appropriate environment variables, configure your\n`GoogleAdsClient` by calling `fromEnvironment()` on the builder. \n\n GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()\n .fromEnvironment()\n .build();\n\nCombining configuration approaches\n----------------------------------\n\nThe `GoogleAdsClient` and its builder support combining different configuration\nstrategies. For example, you can use environment variables to configure the\ncredentials of the instance and a properties file for other attributes using\nthe following snippet. \n\n GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()\n .fromEnvironment()\n .fromPropertiesFile()\n .build();\n\nIn this example, the client library will use the value from the properties file\nfor any attribute that is defined both through its environment variable and an\nentry in the properties file. For the opposite behavior, simply call\n`fromPropertiesFile()` before `fromEnvironment()`.\n\nYou can make further changes at runtime using the builder's other configuration\nmethods before calling `build()`."]]