Java client library configuration

  • The Search Ads 360 API uses a configuration file located at System.getProperty("user.home") + "/searchads360.properties" to store essential settings like client ID, client secret, and refresh token.

  • This configuration file follows the Java Properties file format and supports different keys based on the authentication method, such as desktop, web, or service application flows.

  • Developers can combine configuration approaches, using the properties file for credentials and then further customizing the client using builder methods.

  • When authenticating as a manager account, you need to specify the api.searchads360.loginCustomerId in the configuration file or during client initialization.

  • OAuth refresh tokens required for authentication can be generated using the provided user credential generation script or the OAuth Playground utility.

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).