use of com.google.api.ads.admanager.axis.v202205.CustomField in project googleads-java-lib by googleads.
the class CreateCustomFieldsAndOptions method runExample.
/**
* Runs the example.
*
* @param adManagerServices the services factory.
* @param session the session.
* @throws ApiException if the API request failed with one or more service errors.
* @throws RemoteException if the API request failed due to other errors.
*/
public static void runExample(AdManagerServices adManagerServices, AdManagerSession session) throws RemoteException {
// Get the CustomFieldService.
CustomFieldServiceInterface customFieldService = adManagerServices.get(session, CustomFieldServiceInterface.class);
// Create a number custom field that can be used for an external ID in the
// API.
CustomField numberCustomField = new CustomField();
numberCustomField.setName("External ID #" + new Random().nextInt(Integer.MAX_VALUE));
numberCustomField.setEntityType(CustomFieldEntityType.LINE_ITEM);
numberCustomField.setDataType(CustomFieldDataType.NUMBER);
numberCustomField.setVisibility(CustomFieldVisibility.API_ONLY);
// Create a drop-down custom field that can be used in the UI.
CustomField dropDownCustomField = new CustomField();
dropDownCustomField.setName("Internal approval status #" + new Random().nextInt(Integer.MAX_VALUE));
dropDownCustomField.setEntityType(CustomFieldEntityType.LINE_ITEM);
dropDownCustomField.setDataType(CustomFieldDataType.DROP_DOWN);
dropDownCustomField.setVisibility(CustomFieldVisibility.FULL);
// Create the custom fields on the server.
CustomField[] customFields = customFieldService.createCustomFields(new CustomField[] { numberCustomField, dropDownCustomField });
for (CustomField createdCustomField : customFields) {
System.out.printf("A custom field with ID %d and name '%s' was created.%n", createdCustomField.getId(), createdCustomField.getName());
}
// Set the created drop-down custom field.
dropDownCustomField = customFields[1];
// Create approved custom field option.
CustomFieldOption approvedCustomFieldOption = new CustomFieldOption();
approvedCustomFieldOption.setDisplayName("APPROVED");
approvedCustomFieldOption.setCustomFieldId(dropDownCustomField.getId());
// Create unapproved custom field option.
CustomFieldOption unapprovedCustomFieldOption = new CustomFieldOption();
unapprovedCustomFieldOption.setDisplayName("UNAPPROVED");
unapprovedCustomFieldOption.setCustomFieldId(dropDownCustomField.getId());
// Create the custom field options on the server.
CustomFieldOption[] customFieldOptions = customFieldService.createCustomFieldOptions(new CustomFieldOption[] { approvedCustomFieldOption, unapprovedCustomFieldOption });
for (CustomFieldOption createdCustomFieldOption : customFieldOptions) {
System.out.printf("A custom field option with ID %d and display name '%s' was created.%n", createdCustomFieldOption.getId(), createdCustomFieldOption.getDisplayName());
}
}
use of com.google.api.ads.admanager.axis.v202205.CustomField in project googleads-java-lib by googleads.
the class GetAllCustomFields method runExample.
/**
* Runs the example.
*
* @param adManagerServices the services factory.
* @param session the session.
* @throws ApiException if the API request failed with one or more service errors.
* @throws RemoteException if the API request failed due to other errors.
*/
public static void runExample(AdManagerServices adManagerServices, AdManagerSession session) throws RemoteException {
// Get the CustomFieldService.
CustomFieldServiceInterface customFieldService = adManagerServices.get(session, CustomFieldServiceInterface.class);
// Create a statement to get all custom fields.
StatementBuilder statementBuilder = new StatementBuilder().orderBy("id ASC").limit(StatementBuilder.SUGGESTED_PAGE_LIMIT);
// Default for total result set size.
int totalResultSetSize = 0;
do {
// Get custom fields by statement.
CustomFieldPage page = customFieldService.getCustomFieldsByStatement(statementBuilder.toStatement());
if (page.getResults() != null) {
totalResultSetSize = page.getTotalResultSetSize();
int i = page.getStartIndex();
for (CustomField customField : page.getResults()) {
System.out.printf("%d) Custom field with ID %d and name '%s' was found.%n", i++, customField.getId(), customField.getName());
}
}
statementBuilder.increaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
} while (statementBuilder.getOffset() < totalResultSetSize);
System.out.printf("Number of results found: %d%n", totalResultSetSize);
}
use of com.google.api.ads.admanager.axis.v202205.CustomField in project googleads-java-lib by googleads.
the class DeactivateCustomFields method runExample.
/**
* Runs the example.
*
* @param adManagerServices the services factory.
* @param session the session.
* @param customFieldId the ID of the custom field to deactivate.
* @throws ApiException if the API request failed with one or more service errors.
* @throws RemoteException if the API request failed due to other errors.
*/
public static void runExample(AdManagerServices adManagerServices, AdManagerSession session, long customFieldId) throws RemoteException {
// Get the CustomFieldService.
CustomFieldServiceInterface customFieldService = adManagerServices.get(session, CustomFieldServiceInterface.class);
// Create a statement to select a custom field.
StatementBuilder statementBuilder = new StatementBuilder().where("WHERE id = :id").orderBy("id ASC").limit(StatementBuilder.SUGGESTED_PAGE_LIMIT).withBindVariableValue("id", customFieldId);
// Default for total result set size.
int totalResultSetSize = 0;
do {
// Get custom fields by statement.
CustomFieldPage page = customFieldService.getCustomFieldsByStatement(statementBuilder.toStatement());
if (page.getResults() != null) {
totalResultSetSize = page.getTotalResultSetSize();
int i = page.getStartIndex();
for (CustomField customField : page.getResults()) {
System.out.printf("%d) Custom field with ID %d will be deactivated.%n", i++, customField.getId());
}
}
statementBuilder.increaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
} while (statementBuilder.getOffset() < totalResultSetSize);
System.out.printf("Number of custom fields to be deactivated: %d%n", totalResultSetSize);
if (totalResultSetSize > 0) {
// Remove limit and offset from statement.
statementBuilder.removeLimitAndOffset();
// Create action.
com.google.api.ads.admanager.axis.v202205.DeactivateCustomFields action = new com.google.api.ads.admanager.axis.v202205.DeactivateCustomFields();
// Perform action.
UpdateResult result = customFieldService.performCustomFieldAction(action, statementBuilder.toStatement());
if (result != null && result.getNumChanges() > 0) {
System.out.printf("Number of custom fields deactivated: %d%n", result.getNumChanges());
} else {
System.out.println("No custom fields were deactivated.");
}
}
}
use of com.google.api.ads.admanager.axis.v202205.CustomField in project googleads-java-lib by googleads.
the class GetAllCustomFields method runExample.
/**
* Runs the example.
*
* @param adManagerServices the services factory.
* @param session the session.
* @throws ApiException if the API request failed with one or more service errors.
* @throws RemoteException if the API request failed due to other errors.
*/
public static void runExample(AdManagerServices adManagerServices, AdManagerSession session) throws RemoteException {
// Get the CustomFieldService.
CustomFieldServiceInterface customFieldService = adManagerServices.get(session, CustomFieldServiceInterface.class);
// Create a statement to get all custom fields.
StatementBuilder statementBuilder = new StatementBuilder().orderBy("id ASC").limit(StatementBuilder.SUGGESTED_PAGE_LIMIT);
// Default for total result set size.
int totalResultSetSize = 0;
do {
// Get custom fields by statement.
CustomFieldPage page = customFieldService.getCustomFieldsByStatement(statementBuilder.toStatement());
if (page.getResults() != null) {
totalResultSetSize = page.getTotalResultSetSize();
int i = page.getStartIndex();
for (CustomField customField : page.getResults()) {
System.out.printf("%d) Custom field with ID %d and name '%s' was found.%n", i++, customField.getId(), customField.getName());
}
}
statementBuilder.increaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
} while (statementBuilder.getOffset() < totalResultSetSize);
System.out.printf("Number of results found: %d%n", totalResultSetSize);
}
use of com.google.api.ads.admanager.axis.v202205.CustomField in project googleads-java-lib by googleads.
the class UpdateCustomFields method runExample.
/**
* Runs the example.
*
* @param adManagerServices the services factory.
* @param session the session.
* @param customFieldId the ID of the custom field to update.
* @throws ApiException if the API request failed with one or more service errors.
* @throws RemoteException if the API request failed due to other errors.
*/
public static void runExample(AdManagerServices adManagerServices, AdManagerSession session, long customFieldId) throws RemoteException {
// Get the CustomFieldService.
CustomFieldServiceInterface customFieldService = adManagerServices.get(session, CustomFieldServiceInterface.class);
// Create a statement to only select a single custom field by ID.
StatementBuilder statementBuilder = new StatementBuilder().where("id = :id").orderBy("id ASC").limit(1).withBindVariableValue("id", customFieldId);
// Get the custom field.
CustomFieldPage page = customFieldService.getCustomFieldsByStatement(statementBuilder.toStatement());
CustomField customField = Iterables.getOnlyElement(Arrays.asList(page.getResults()));
// Update the custom field description.
customField.setDescription("New custom field description");
// Update the custom field on the server.
CustomField[] customFields = customFieldService.updateCustomFields(new CustomField[] { customField });
for (CustomField updatedCustomField : customFields) {
System.out.printf("Custom field with ID %d and name '%s' was updated.%n", updatedCustomField.getId(), updatedCustomField.getName());
}
}
Aggregations