Google API/SDK details

HCL Unica Link uses the Google Ad API to perform the following activities:

  • Connect to the google ad platform and authorize the user.
  • List the “audiences” (user lists).
  • Create new audience list (user list).
  • Upload/Append users to the user list and API response is sent back to Unica.
Note: The Google ad API user lists are referred as “Audiences” in the HCL Unica application.

Host name and port details

  • Host name for Google Ad API is googleads.googleapis.com and oauth2.googleapis.com.
  • Port number for Google Ad API is 443.

Packages Imported and API Services/Methods Called

import com.google.ads.googleads.lib.GoogleAdsClient;
import com.google.ads.googleads.<Google API version>.common.CrmBasedUserListInfo;
import com.google.ads.googleads.<Google API version>.common.CustomerMatchUserListMetadata;
import com.google.ads.googleads.<Google API version>.common.OfflineUserAddressInfo;
import com.google.ads.googleads.<Google API version>.common.UserData;
import com.google.ads.googleads.<Google API version>.common.UserIdentifier;
import com.google.ads.googleads.<Google API version>.enums.CustomerMatchUploadKeyTypeEnum.CustomerMatchUploadKeyType;
import com.google.ads.googleads.<Google API version>.enums.OfflineUserDataJobTypeEnum.OfflineUserDataJobType;
import com.google.ads.googleads.<Google API version>.resources.OfflineUserDataJob;
import com.google.ads.googleads.<Google API version>.resources.UserList;
import com.google.ads.googleads.<Google API version>.services.AddOfflineUserDataJobOperationsRequest;
import com.google.ads.googleads.<Google API version>.services.AddOfflineUserDataJobOperationsResponse;
import com.google.ads.googleads.<Google API version>.services.CreateOfflineUserDataJobResponse;
import com.google.ads.googleads.<Google API version>.services.GoogleAdsRow;
import com.google.ads.googleads.<Google API version>.services.GoogleAdsServiceClient;
import com.google.ads.googleads.<Google API version>.services.MutateUserListsResponse;
import com.google.ads.googleads.<Google API version>.services.OfflineUserDataJobOperation;
import com.google.ads.googleads.<Google API version>.services.OfflineUserDataJobServiceClient;
import com.google.ads.googleads.<Google API version>.services.SearchGoogleAdsStreamRequest;
import com.google.ads.googleads.<Google API version>.services.SearchGoogleAdsStreamResponse;
import com.google.ads.googleads.<Google API version>.services.UserListOperation;
import com.google.ads.googleads.<Google API version>.services.UserListServiceClient;
import com.google.api.gax.rpc.ServerStream;
import com.google.auth.oauth2.ClientId;
import com.google.auth.oauth2.UserAuthorizer;
import com.google.auth.oauth2.UserCredentials;
import com.google.common.collect.ImmutableList;

User Authorization through HCL Unica

com.google.auth.oauth2.UserAuthorizer::build 
com.google.auth.oauth2.UserAuthorizer::getAuthorizationUrl 
com.google.auth.oauth2.UserAuthorizer::getCredentialsFromCode 
com.google.auth.oauth2.UserCredentials::getRefreshToken

Get User List

com.google.ads.googleads.<Google API version>.services.GoogleAdsServiceClient::searchStreamCallable 
com.google.ads.googleads.<Google API version>.services.SearchGoogleAdsStreamRequest::build 
com.google.ads.googleads.<Google API version>.services.SearchGoogleAdsStreamResponse::getResultsList 
com.google.api.gax.rpc.ServerStream::iterator
com.google.ads.googleads.<Google API version>.services.GoogleAdsRow::getUserList

Create a Customer Match user list

com.google.ads.googleads.<Google API version>.resources.UserList::build 
com.google.ads.googleads.<Google API version>.resources.UserListOperation::build 
com.google.ads.googleads.lib.GoogleAdsClient::createUserListServiceClient 
com.google.ads.googleads.<Google API version>.resources.UserListServiceClient::mutateUserLists

Create and execute an asynchronous job to add users to the Customer Match user list

com.google.ads.googleads.lib.GoogleAdsClient::createOfflineUserDataJobServiceClient 
com.google.ads.googleads.<Google API version>.services.OfflineUserDataJobServiceClient::build 
com.google.ads.googleads.<Google API version>.services.OfflineUserDataJobServiceClient::createOfflineUser DataJob 
com.google.ads.googleads.<Google API version>.services.OfflineUserDataJobServiceClient::addOfflineUserD ataJobOperations 
com.google.ads.googleads.<Google API version>.services.OfflineUserDataJobServiceClient::addAllOperations 
com.google.ads.googleads.<Google API version>.services.OfflineUserDataJobServiceClient::setEnablePartial Failure 
com.google.ads.googleads.<Google API version>.resources.OfflineUserDataJob::build com.google.ads.googleads.v12.services.CreateOfflineUserDataJobResponse::getResource Name 
com.google.ads.googleads.<Google API version>.services.AddOfflineUserDataJobOperationsResponse::hasPartialFailureError com.google.ads.googleads.<Google API version>.services.OfflineUserDataJobOperation::build