Java client library configuration

The library looks for a configuration file in System.getProperty("user.home") + "/searchads360.properties".

The format of the configuration file is that of a Java Properties file of key value pairs. The supported keys vary depending on the chosen authentication flow.

Supported keys for desktop and web application flows

If you are using the desktop or web application flow, the supported keys are as follows:

# Credential for accessing Google's OAuth servers.
# Provided by console.cloud.google.com.
api.searchads360.clientId=INSERT_CLIENT_ID_HERE

# Credential for accessing Google's OAuth servers.
# Provided by console.cloud.google.com.
api.searchads360.clientSecret=INSERT_CLIENT_SECRET_HERE

# Renewable OAuth credential associated with 1 or more Search Ads accounts.
api.searchads360.refreshToken=INSERT_REFRESH_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.searchads360.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE


Combining configuration approaches

The SearchAds360Client and its builder support combining different configuration strategies. For example, you can use a properties file to configure the credentials of the instance and for other attributes using the following snippet.

SearchAds360Client searchAds360Client = SearchAds360Client.newBuilder()
    .fromPropertiesFile()
    .build();

You can make further changes at runtime using the builder's other configuration methods before calling build().

If you are authenticating as a manager account, additionally you must specify:

api.searchads360.loginCustomerId --> Manager account ID (with hyphens removed).