Search in sources :

Example 56 with AdWordsServicesInterface

use of com.google.api.ads.adwords.lib.factory.AdWordsServicesInterface in project googleads-java-lib by googleads.

the class AddConversionTrackers method main.

public static void main(String[] args) {
    AdWordsSession session;
    try {
        // Generate a refreshable OAuth2 credential.
        Credential oAuth2Credential = new OfflineCredentials.Builder().forApi(Api.ADWORDS).fromFile().build().generateCredential();
        // Construct an AdWordsSession.
        session = new AdWordsSession.Builder().fromFile().withOAuth2Credential(oAuth2Credential).build();
    } catch (ConfigurationLoadException cle) {
        System.err.printf("Failed to load configuration from the %s file. Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, cle);
        return;
    } catch (ValidationException ve) {
        System.err.printf("Invalid configuration in the %s file. Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, ve);
        return;
    } catch (OAuthException oe) {
        System.err.printf("Failed to create OAuth credentials. Check OAuth settings in the %s file. " + "Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, oe);
        return;
    }
    AdWordsServicesInterface adWordsServices = AdWordsServices.getInstance();
    try {
        runExample(adWordsServices, session);
    } catch (ApiException apiException) {
        // ApiException is the base class for most exceptions thrown by an API request. Instances
        // of this exception have a message and a collection of ApiErrors that indicate the
        // type and underlying cause of the exception. Every exception object in the adwords.axis
        // packages will return a meaningful value from toString
        // 
        // ApiException extends RemoteException, so this catch block must appear before the
        // catch block for RemoteException.
        System.err.println("Request failed due to ApiException. Underlying ApiErrors:");
        if (apiException.getErrors() != null) {
            int i = 0;
            for (ApiError apiError : apiException.getErrors()) {
                System.err.printf("  Error %d: %s%n", i++, apiError);
            }
        }
    } catch (RemoteException re) {
        System.err.printf("Request failed unexpectedly due to RemoteException: %s%n", re);
    }
}
Also used : Credential(com.google.api.client.auth.oauth2.Credential) ValidationException(com.google.api.ads.common.lib.exception.ValidationException) AdWordsSession(com.google.api.ads.adwords.lib.client.AdWordsSession) ConfigurationLoadException(com.google.api.ads.common.lib.conf.ConfigurationLoadException) OAuthException(com.google.api.ads.common.lib.exception.OAuthException) AdWordsServicesInterface(com.google.api.ads.adwords.lib.factory.AdWordsServicesInterface) ApiError(com.google.api.ads.adwords.axis.v201809.cm.ApiError) RemoteException(java.rmi.RemoteException) ApiException(com.google.api.ads.adwords.axis.v201809.cm.ApiException)

Example 57 with AdWordsServicesInterface

use of com.google.api.ads.adwords.lib.factory.AdWordsServicesInterface in project googleads-java-lib by googleads.

the class AddConversionTrackers method runExample.

/**
 * Runs the example.
 *
 * @param adWordsServices 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(AdWordsServicesInterface adWordsServices, AdWordsSession session) throws RemoteException {
    // Get the ConversionTrackerService.
    ConversionTrackerServiceInterface service = adWordsServices.get(session, ConversionTrackerServiceInterface.class);
    List<ConversionTracker> conversionTrackers = new ArrayList<>();
    // Create an AdWords conversion tracker.
    AdWordsConversionTracker adWordsConversionTracker = new AdWordsConversionTracker();
    adWordsConversionTracker.setName("Earth to Mars Cruises Conversion # " + System.currentTimeMillis());
    adWordsConversionTracker.setCategory(ConversionTrackerCategory.DEFAULT);
    // You can optionally provide these field(s).
    adWordsConversionTracker.setStatus(ConversionTrackerStatus.ENABLED);
    adWordsConversionTracker.setViewthroughLookbackWindow(15);
    adWordsConversionTracker.setDefaultRevenueValue(1d);
    adWordsConversionTracker.setAlwaysUseDefaultRevenueValue(Boolean.TRUE);
    conversionTrackers.add(adWordsConversionTracker);
    // Create an upload conversion for offline conversion imports.
    UploadConversion uploadConversion = new UploadConversion();
    // Set an appropriate category. This field is optional, and will be set to
    // DEFAULT if not mentioned.
    uploadConversion.setCategory(ConversionTrackerCategory.LEAD);
    uploadConversion.setName("Upload Conversion #" + System.currentTimeMillis());
    uploadConversion.setViewthroughLookbackWindow(30);
    uploadConversion.setCtcLookbackWindow(90);
    // Optional: Set the default currency code to use for conversions
    // that do not specify a conversion currency. This must be an ISO 4217
    // 3-character currency code such as "EUR" or "USD".
    // If this field is not set on this UploadConversion, AdWords will use
    // the account's currency.
    uploadConversion.setDefaultRevenueCurrencyCode("EUR");
    // Optional: Set the default revenue value to use for conversions
    // that do not specify a conversion value. Note that this value
    // should NOT be in micros.
    uploadConversion.setDefaultRevenueValue(2.50);
    // Optional: To upload fractional conversion credits, mark the upload conversion
    // as externally attributed. See
    // https://developers.google.com/adwords/api/docs/guides/conversion-tracking#importing_externally_attributed_conversions
    // to learn more about importing externally attributed conversions.
    // uploadConversion.setIsExternallyAttributed(true);
    conversionTrackers.add(uploadConversion);
    // Create operations.
    List<ConversionTrackerOperation> operations = conversionTrackers.stream().map(conversionTracker -> {
        ConversionTrackerOperation operation = new ConversionTrackerOperation();
        operation.setOperator(Operator.ADD);
        operation.setOperand(conversionTracker);
        return operation;
    }).collect(Collectors.toList());
    // Add the conversions.
    ConversionTrackerReturnValue result = service.mutate(operations.toArray(new ConversionTrackerOperation[operations.size()]));
    // Display conversion.
    for (ConversionTracker conversionTracker : result.getValue()) {
        System.out.printf("Conversion with ID %d, name '%s', status '%s', " + "category '%s' was added.%n", conversionTracker.getId(), conversionTracker.getName(), conversionTracker.getStatus(), conversionTracker.getCategory());
        if (conversionTracker instanceof AdWordsConversionTracker) {
            System.out.printf("Google global site tag:%n%s%n%n", conversionTracker.getGoogleGlobalSiteTag());
            System.out.printf("Google event snippet:%n%s%n%n", conversionTracker.getGoogleEventSnippet());
        }
    }
}
Also used : ConversionTrackerCategory(com.google.api.ads.adwords.axis.v201809.cm.ConversionTrackerCategory) ConversionTrackerReturnValue(com.google.api.ads.adwords.axis.v201809.cm.ConversionTrackerReturnValue) ArrayList(java.util.ArrayList) ConversionTracker(com.google.api.ads.adwords.axis.v201809.cm.ConversionTracker) OfflineCredentials(com.google.api.ads.common.lib.auth.OfflineCredentials) ApiException(com.google.api.ads.adwords.axis.v201809.cm.ApiException) Credential(com.google.api.client.auth.oauth2.Credential) ConversionTrackerOperation(com.google.api.ads.adwords.axis.v201809.cm.ConversionTrackerOperation) OAuthException(com.google.api.ads.common.lib.exception.OAuthException) ConversionTrackerServiceInterface(com.google.api.ads.adwords.axis.v201809.cm.ConversionTrackerServiceInterface) ConversionTrackerStatus(com.google.api.ads.adwords.axis.v201809.cm.ConversionTrackerStatus) AdWordsServices(com.google.api.ads.adwords.axis.factory.AdWordsServices) ConfigurationLoadException(com.google.api.ads.common.lib.conf.ConfigurationLoadException) Operator(com.google.api.ads.adwords.axis.v201809.cm.Operator) Collectors(java.util.stream.Collectors) RemoteException(java.rmi.RemoteException) DEFAULT_CONFIGURATION_FILENAME(com.google.api.ads.common.lib.utils.Builder.DEFAULT_CONFIGURATION_FILENAME) AdWordsConversionTracker(com.google.api.ads.adwords.axis.v201809.cm.AdWordsConversionTracker) List(java.util.List) AdWordsSession(com.google.api.ads.adwords.lib.client.AdWordsSession) AdWordsServicesInterface(com.google.api.ads.adwords.lib.factory.AdWordsServicesInterface) ApiError(com.google.api.ads.adwords.axis.v201809.cm.ApiError) UploadConversion(com.google.api.ads.adwords.axis.v201809.cm.UploadConversion) ValidationException(com.google.api.ads.common.lib.exception.ValidationException) Api(com.google.api.ads.common.lib.auth.OfflineCredentials.Api) ConversionTracker(com.google.api.ads.adwords.axis.v201809.cm.ConversionTracker) AdWordsConversionTracker(com.google.api.ads.adwords.axis.v201809.cm.AdWordsConversionTracker) AdWordsConversionTracker(com.google.api.ads.adwords.axis.v201809.cm.AdWordsConversionTracker) ConversionTrackerOperation(com.google.api.ads.adwords.axis.v201809.cm.ConversionTrackerOperation) ArrayList(java.util.ArrayList) ConversionTrackerServiceInterface(com.google.api.ads.adwords.axis.v201809.cm.ConversionTrackerServiceInterface) UploadConversion(com.google.api.ads.adwords.axis.v201809.cm.UploadConversion) ConversionTrackerReturnValue(com.google.api.ads.adwords.axis.v201809.cm.ConversionTrackerReturnValue)

Example 58 with AdWordsServicesInterface

use of com.google.api.ads.adwords.lib.factory.AdWordsServicesInterface in project googleads-java-lib by googleads.

the class AddRuleBasedUserLists method runExample.

/**
 * Runs the example.
 *
 * @param adWordsServices 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(AdWordsServicesInterface adWordsServices, AdWordsSession session) throws RemoteException {
    // Get the AdwordsUserListService.
    AdwordsUserListServiceInterface userListService = adWordsServices.get(session, AdwordsUserListServiceInterface.class);
    // First rule item group - users who visited the checkout page and had more than one item
    // in their shopping cart.
    StringKey pageTypeKey = new StringKey("ecomm_pagetype");
    StringRuleItem checkoutStringRuleItem = new StringRuleItem();
    checkoutStringRuleItem.setKey(pageTypeKey);
    checkoutStringRuleItem.setOp(StringRuleItemStringOperator.EQUALS);
    checkoutStringRuleItem.setValue("checkout");
    RuleItem checkoutRuleItem = new RuleItem();
    checkoutRuleItem.setStringRuleItem(checkoutStringRuleItem);
    NumberKey cartSizeKey = new NumberKey("cartsize");
    NumberRuleItem cartSizeNumberRuleItem = new NumberRuleItem();
    cartSizeNumberRuleItem.setKey(cartSizeKey);
    cartSizeNumberRuleItem.setOp(NumberRuleItemNumberOperator.GREATER_THAN);
    cartSizeNumberRuleItem.setValue(1.0);
    RuleItem cartSizeRuleItem = new RuleItem();
    cartSizeRuleItem.setNumberRuleItem(cartSizeNumberRuleItem);
    // Combine the two rule items into a RuleItemGroup so AdWords will AND their rules
    // together.
    RuleItemGroup checkoutMultipleItemGroup = new RuleItemGroup();
    checkoutMultipleItemGroup.setItems(new RuleItem[] { checkoutRuleItem, cartSizeRuleItem });
    // Second rule item group - users who checked out within the next 3 months.
    DateKey checkoutDateKey = new DateKey("checkoutdate");
    DateRuleItem startDateDateRuleItem = new DateRuleItem();
    startDateDateRuleItem.setKey(checkoutDateKey);
    startDateDateRuleItem.setOp(DateRuleItemDateOperator.AFTER);
    startDateDateRuleItem.setValue(DateTime.now().toString(DATE_FORMAT_STRING));
    RuleItem startDateRuleItem = new RuleItem();
    startDateRuleItem.setDateRuleItem(startDateDateRuleItem);
    DateRuleItem endDateDateRuleItem = new DateRuleItem();
    endDateDateRuleItem.setKey(checkoutDateKey);
    endDateDateRuleItem.setOp(DateRuleItemDateOperator.BEFORE);
    endDateDateRuleItem.setValue(DateTime.now().plusMonths(3).toString(DATE_FORMAT_STRING));
    RuleItem endDateRuleItem = new RuleItem();
    endDateRuleItem.setDateRuleItem(endDateDateRuleItem);
    // Combine the date rule items into a RuleItemGroup.
    RuleItemGroup checkedOutNextThreeMonthsItemGroup = new RuleItemGroup();
    checkedOutNextThreeMonthsItemGroup.setItems(new RuleItem[] { startDateRuleItem, endDateRuleItem });
    // Combine the rule item groups into a Rule so AdWords knows how to apply the rules.
    Rule rule = new Rule();
    rule.setGroups(new RuleItemGroup[] { checkoutMultipleItemGroup, checkedOutNextThreeMonthsItemGroup });
    // ExpressionRuleUserLists can use either CNF or DNF for matching. CNF means 'at least one item
    // in each rule item group must match', and DNF means 'at least one entire rule item group must
    // match'. DateSpecificRuleUserList only supports DNF. You can also omit the rule type
    // altogether to default to DNF.
    rule.setRuleType(UserListRuleTypeEnumsEnum.DNF);
    // Third and fourth rule item groups.
    // Visitors of a page who visited another page.
    StringKey urlStringKey = new StringKey("url__");
    StringRuleItem site1StringRuleItem = new StringRuleItem();
    site1StringRuleItem.setKey(urlStringKey);
    site1StringRuleItem.setOp(StringRuleItemStringOperator.EQUALS);
    site1StringRuleItem.setValue("example.com/example1");
    RuleItem site1RuleItem = new RuleItem();
    site1RuleItem.setStringRuleItem(site1StringRuleItem);
    StringRuleItem site2StringRuleItem = new StringRuleItem();
    site2StringRuleItem.setKey(urlStringKey);
    site2StringRuleItem.setOp(StringRuleItemStringOperator.EQUALS);
    site2StringRuleItem.setValue("example.com/example2");
    RuleItem site2RuleItem = new RuleItem();
    site2RuleItem.setStringRuleItem(site2StringRuleItem);
    // Create two RuleItemGroups to show that a visitor browsed two sites.
    RuleItemGroup site1RuleItemGroup = new RuleItemGroup();
    site1RuleItemGroup.setItems(new RuleItem[] { site1RuleItem });
    RuleItemGroup site2RuleItemGroup = new RuleItemGroup();
    site2RuleItemGroup.setItems(new RuleItem[] { site2RuleItem });
    // Create two rules to show that a visitor browsed two sites.
    Rule userVisitedSite1Rule = new Rule();
    userVisitedSite1Rule.setGroups(new RuleItemGroup[] { site1RuleItemGroup });
    Rule userVisitedSite2Rule = new Rule();
    userVisitedSite2Rule.setGroups(new RuleItemGroup[] { site2RuleItemGroup });
    // Create the user list with no restrictions on site visit date.
    ExpressionRuleUserList expressionUserList = new ExpressionRuleUserList();
    String creationTimeString = DateTime.now().toString("yyyyMMdd_HHmmss");
    expressionUserList.setName("Expression based user list created at " + creationTimeString);
    expressionUserList.setDescription("Users who checked out in three month window OR visited the checkout page " + "with more than one item in their cart");
    expressionUserList.setRule(rule);
    // Optional: Set the prepopulationStatus to REQUESTED to include past users in the user list.
    expressionUserList.setPrepopulationStatus(RuleBasedUserListPrepopulationStatus.REQUESTED);
    // Create the user list restricted to users who visit your site within the next six months.
    DateTime startDate = DateTime.now();
    DateTime endDate = startDate.plusMonths(6);
    DateSpecificRuleUserList dateUserList = new DateSpecificRuleUserList();
    dateUserList.setName("Date rule user list created at " + creationTimeString);
    dateUserList.setDescription(String.format("Users who visited the site between %s and %s and " + "checked out in three month window OR visited the checkout page " + "with more than one item in their cart", startDate.toString(DATE_FORMAT_STRING), endDate.toString(DATE_FORMAT_STRING)));
    dateUserList.setRule(rule);
    // Set the start and end dates of the user list.
    dateUserList.setStartDate(startDate.toString(DATE_FORMAT_STRING));
    dateUserList.setEndDate(endDate.toString(DATE_FORMAT_STRING));
    // Create the user list where "Visitors of a page who did visit another page".
    // To create a user list where "Visitors of a page who did not visit another
    // page", change the ruleOperator from AND to AND_NOT.
    CombinedRuleUserList combinedRuleUserList = new CombinedRuleUserList();
    combinedRuleUserList.setName("Combined rule user list created at " + creationTimeString);
    combinedRuleUserList.setDescription("Users who visited two sites.");
    combinedRuleUserList.setLeftOperand(userVisitedSite1Rule);
    combinedRuleUserList.setRightOperand(userVisitedSite2Rule);
    combinedRuleUserList.setRuleOperator(CombinedRuleUserListRuleOperator.AND);
    // Create operations to add the user lists.
    List<UserListOperation> operations = Stream.of(expressionUserList, dateUserList, combinedRuleUserList).map(userList -> {
        UserListOperation operation = new UserListOperation();
        operation.setOperand(userList);
        operation.setOperator(Operator.ADD);
        return operation;
    }).collect(Collectors.toList());
    // Submit the operations.
    UserListReturnValue result = userListService.mutate(operations.toArray(new UserListOperation[operations.size()]));
    // Display the results.
    for (UserList userListResult : result.getValue()) {
        System.out.printf("User list added with ID %d, name '%s', status '%s', list type '%s'," + " accountUserListStatus '%s', description '%s'.%n", userListResult.getId(), userListResult.getName(), userListResult.getStatus().getValue(), userListResult.getListType() == null ? null : userListResult.getListType().getValue(), userListResult.getAccountUserListStatus().getValue(), userListResult.getDescription());
    }
}
Also used : DateKey(com.google.api.ads.adwords.axis.v201809.rm.DateKey) ExpressionRuleUserList(com.google.api.ads.adwords.axis.v201809.rm.ExpressionRuleUserList) DateSpecificRuleUserList(com.google.api.ads.adwords.axis.v201809.rm.DateSpecificRuleUserList) UserList(com.google.api.ads.adwords.axis.v201809.rm.UserList) UserListRuleTypeEnumsEnum(com.google.api.ads.adwords.axis.v201809.rm.UserListRuleTypeEnumsEnum) DateRuleItemDateOperator(com.google.api.ads.adwords.axis.v201809.rm.DateRuleItemDateOperator) NumberRuleItemNumberOperator(com.google.api.ads.adwords.axis.v201809.rm.NumberRuleItemNumberOperator) RuleItemGroup(com.google.api.ads.adwords.axis.v201809.rm.RuleItemGroup) UserListReturnValue(com.google.api.ads.adwords.axis.v201809.rm.UserListReturnValue) CombinedRuleUserList(com.google.api.ads.adwords.axis.v201809.rm.CombinedRuleUserList) NumberKey(com.google.api.ads.adwords.axis.v201809.rm.NumberKey) CombinedRuleUserListRuleOperator(com.google.api.ads.adwords.axis.v201809.rm.CombinedRuleUserListRuleOperator) Rule(com.google.api.ads.adwords.axis.v201809.rm.Rule) OfflineCredentials(com.google.api.ads.common.lib.auth.OfflineCredentials) ApiException(com.google.api.ads.adwords.axis.v201809.cm.ApiException) DateRuleItem(com.google.api.ads.adwords.axis.v201809.rm.DateRuleItem) Credential(com.google.api.client.auth.oauth2.Credential) RuleItem(com.google.api.ads.adwords.axis.v201809.rm.RuleItem) RuleBasedUserListPrepopulationStatus(com.google.api.ads.adwords.axis.v201809.rm.RuleBasedUserListPrepopulationStatus) OAuthException(com.google.api.ads.common.lib.exception.OAuthException) AdWordsServices(com.google.api.ads.adwords.axis.factory.AdWordsServices) AdwordsUserListServiceInterface(com.google.api.ads.adwords.axis.v201809.rm.AdwordsUserListServiceInterface) ConfigurationLoadException(com.google.api.ads.common.lib.conf.ConfigurationLoadException) DateTime(org.joda.time.DateTime) Operator(com.google.api.ads.adwords.axis.v201809.cm.Operator) UserListOperation(com.google.api.ads.adwords.axis.v201809.rm.UserListOperation) NumberRuleItem(com.google.api.ads.adwords.axis.v201809.rm.NumberRuleItem) StringRuleItemStringOperator(com.google.api.ads.adwords.axis.v201809.rm.StringRuleItemStringOperator) Collectors(java.util.stream.Collectors) RemoteException(java.rmi.RemoteException) DEFAULT_CONFIGURATION_FILENAME(com.google.api.ads.common.lib.utils.Builder.DEFAULT_CONFIGURATION_FILENAME) List(java.util.List) AdWordsSession(com.google.api.ads.adwords.lib.client.AdWordsSession) AdWordsServicesInterface(com.google.api.ads.adwords.lib.factory.AdWordsServicesInterface) Stream(java.util.stream.Stream) ApiError(com.google.api.ads.adwords.axis.v201809.cm.ApiError) ValidationException(com.google.api.ads.common.lib.exception.ValidationException) StringRuleItem(com.google.api.ads.adwords.axis.v201809.rm.StringRuleItem) StringKey(com.google.api.ads.adwords.axis.v201809.rm.StringKey) Api(com.google.api.ads.common.lib.auth.OfflineCredentials.Api) AdwordsUserListServiceInterface(com.google.api.ads.adwords.axis.v201809.rm.AdwordsUserListServiceInterface) StringKey(com.google.api.ads.adwords.axis.v201809.rm.StringKey) DateRuleItem(com.google.api.ads.adwords.axis.v201809.rm.DateRuleItem) UserListOperation(com.google.api.ads.adwords.axis.v201809.rm.UserListOperation) DateSpecificRuleUserList(com.google.api.ads.adwords.axis.v201809.rm.DateSpecificRuleUserList) RuleItemGroup(com.google.api.ads.adwords.axis.v201809.rm.RuleItemGroup) CombinedRuleUserList(com.google.api.ads.adwords.axis.v201809.rm.CombinedRuleUserList) DateKey(com.google.api.ads.adwords.axis.v201809.rm.DateKey) DateTime(org.joda.time.DateTime) UserListReturnValue(com.google.api.ads.adwords.axis.v201809.rm.UserListReturnValue) NumberRuleItem(com.google.api.ads.adwords.axis.v201809.rm.NumberRuleItem) DateRuleItem(com.google.api.ads.adwords.axis.v201809.rm.DateRuleItem) RuleItem(com.google.api.ads.adwords.axis.v201809.rm.RuleItem) NumberRuleItem(com.google.api.ads.adwords.axis.v201809.rm.NumberRuleItem) StringRuleItem(com.google.api.ads.adwords.axis.v201809.rm.StringRuleItem) Rule(com.google.api.ads.adwords.axis.v201809.rm.Rule) ExpressionRuleUserList(com.google.api.ads.adwords.axis.v201809.rm.ExpressionRuleUserList) ExpressionRuleUserList(com.google.api.ads.adwords.axis.v201809.rm.ExpressionRuleUserList) DateSpecificRuleUserList(com.google.api.ads.adwords.axis.v201809.rm.DateSpecificRuleUserList) UserList(com.google.api.ads.adwords.axis.v201809.rm.UserList) CombinedRuleUserList(com.google.api.ads.adwords.axis.v201809.rm.CombinedRuleUserList) StringRuleItem(com.google.api.ads.adwords.axis.v201809.rm.StringRuleItem) NumberKey(com.google.api.ads.adwords.axis.v201809.rm.NumberKey)

Example 59 with AdWordsServicesInterface

use of com.google.api.ads.adwords.lib.factory.AdWordsServicesInterface in project googleads-java-lib by googleads.

the class AddSmartShoppingAd method main.

public static void main(String[] args) {
    AdWordsSession session;
    try {
        // Generate a refreshable OAuth2 credential.
        Credential oAuth2Credential = new OfflineCredentials.Builder().forApi(Api.ADWORDS).fromFile().build().generateCredential();
        // Construct an AdWordsSession.
        session = new AdWordsSession.Builder().fromFile().withOAuth2Credential(oAuth2Credential).build();
    } catch (ConfigurationLoadException cle) {
        System.err.printf("Failed to load configuration from the %s file. Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, cle);
        return;
    } catch (ValidationException ve) {
        System.err.printf("Invalid configuration in the %s file. Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, ve);
        return;
    } catch (OAuthException oe) {
        System.err.printf("Failed to create OAuth credentials. Check OAuth settings in the %s file. " + "Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, oe);
        return;
    }
    AdWordsServicesInterface adWordsServices = AdWordsServices.getInstance();
    AddSmartShoppingAdParams params = new AddSmartShoppingAdParams();
    if (!params.parseArguments(args)) {
        // Either pass the required parameters for this example on the command line, or insert them
        // into the code here. See the parameter class definition above for descriptions.
        params.merchantId = Long.parseLong("INSERT_MERCHANT_ID_HERE");
        params.createDefaultPartition = false;
    }
    try {
        runExample(adWordsServices, session, params.merchantId, params.createDefaultPartition);
    } catch (ApiException apiException) {
        // ApiException is the base class for most exceptions thrown by an API request. Instances
        // of this exception have a message and a collection of ApiErrors that indicate the
        // type and underlying cause of the exception. Every exception object in the adwords.axis
        // packages will return a meaningful value from toString.
        // 
        // ApiException extends RemoteException, so this catch block must appear before the
        // catch block for RemoteException.
        System.err.println("Request failed due to ApiException. Underlying ApiErrors:");
        if (apiException.getErrors() != null) {
            int i = 0;
            for (ApiError apiError : apiException.getErrors()) {
                System.err.printf("  Error %d: %s%n", i++, apiError);
            }
        }
    } catch (RemoteException re) {
        System.err.printf("Request failed unexpectedly due to RemoteException: %s%n", re);
    }
}
Also used : Credential(com.google.api.client.auth.oauth2.Credential) ValidationException(com.google.api.ads.common.lib.exception.ValidationException) AdWordsSession(com.google.api.ads.adwords.lib.client.AdWordsSession) ConfigurationLoadException(com.google.api.ads.common.lib.conf.ConfigurationLoadException) OAuthException(com.google.api.ads.common.lib.exception.OAuthException) AdWordsServicesInterface(com.google.api.ads.adwords.lib.factory.AdWordsServicesInterface) ApiError(com.google.api.ads.adwords.axis.v201809.cm.ApiError) RemoteException(java.rmi.RemoteException) ApiException(com.google.api.ads.adwords.axis.v201809.cm.ApiException)

Example 60 with AdWordsServicesInterface

use of com.google.api.ads.adwords.lib.factory.AdWordsServicesInterface in project googleads-java-lib by googleads.

the class AddCampaignTargetingCriteria method main.

public static void main(String[] args) {
    AdWordsSession session;
    try {
        // Generate a refreshable OAuth2 credential.
        Credential oAuth2Credential = new OfflineCredentials.Builder().forApi(Api.ADWORDS).fromFile().build().generateCredential();
        // Construct an AdWordsSession.
        session = new AdWordsSession.Builder().fromFile().withOAuth2Credential(oAuth2Credential).build();
    } catch (ConfigurationLoadException cle) {
        System.err.printf("Failed to load configuration from the %s file. Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, cle);
        return;
    } catch (ValidationException ve) {
        System.err.printf("Invalid configuration in the %s file. Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, ve);
        return;
    } catch (OAuthException oe) {
        System.err.printf("Failed to create OAuth credentials. Check OAuth settings in the %s file. " + "Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, oe);
        return;
    }
    AdWordsServicesInterface adWordsServices = AdWordsServices.getInstance();
    AddCampaignTargetingCriteriaParams params = new AddCampaignTargetingCriteriaParams();
    if (!params.parseArguments(args)) {
        // Either pass the required parameters for this example on the command line, or insert them
        // into the code here. See the parameter class definition above for descriptions.
        params.campaignId = Long.parseLong("INSERT_CAMPAIGN_ID_HERE");
        params.locationFeedId = Long.parseLong("INSERT_LOCATION_FEED_ID_HERE");
    }
    try {
        runExample(adWordsServices, session, params.campaignId, params.locationFeedId);
    } catch (ApiException apiException) {
        // ApiException is the base class for most exceptions thrown by an API request. Instances
        // of this exception have a message and a collection of ApiErrors that indicate the
        // type and underlying cause of the exception. Every exception object in the adwords.axis
        // packages will return a meaningful value from toString
        // 
        // ApiException extends RemoteException, so this catch block must appear before the
        // catch block for RemoteException.
        System.err.println("Request failed due to ApiException. Underlying ApiErrors:");
        if (apiException.getErrors() != null) {
            int i = 0;
            for (ApiError apiError : apiException.getErrors()) {
                System.err.printf("  Error %d: %s%n", i++, apiError);
            }
        }
    } catch (RemoteException re) {
        System.err.printf("Request failed unexpectedly due to RemoteException: %s%n", re);
    }
}
Also used : Credential(com.google.api.client.auth.oauth2.Credential) ValidationException(com.google.api.ads.common.lib.exception.ValidationException) AdWordsSession(com.google.api.ads.adwords.lib.client.AdWordsSession) ConfigurationLoadException(com.google.api.ads.common.lib.conf.ConfigurationLoadException) OAuthException(com.google.api.ads.common.lib.exception.OAuthException) AdWordsServicesInterface(com.google.api.ads.adwords.lib.factory.AdWordsServicesInterface) ApiError(com.google.api.ads.adwords.axis.v201809.cm.ApiError) RemoteException(java.rmi.RemoteException) ApiException(com.google.api.ads.adwords.axis.v201809.cm.ApiException)

Aggregations

AdWordsServicesInterface (com.google.api.ads.adwords.lib.factory.AdWordsServicesInterface)104 AdWordsSession (com.google.api.ads.adwords.lib.client.AdWordsSession)102 ValidationException (com.google.api.ads.common.lib.exception.ValidationException)102 ConfigurationLoadException (com.google.api.ads.common.lib.conf.ConfigurationLoadException)101 OAuthException (com.google.api.ads.common.lib.exception.OAuthException)101 Credential (com.google.api.client.auth.oauth2.Credential)101 ApiError (com.google.api.ads.adwords.axis.v201809.cm.ApiError)98 ApiException (com.google.api.ads.adwords.axis.v201809.cm.ApiException)98 RemoteException (java.rmi.RemoteException)98 SelectorBuilder (com.google.api.ads.adwords.axis.utils.v201809.SelectorBuilder)25 IOException (java.io.IOException)15 OfflineCredentials (com.google.api.ads.common.lib.auth.OfflineCredentials)11 AdWordsServices (com.google.api.ads.adwords.axis.factory.AdWordsServices)9 Api (com.google.api.ads.common.lib.auth.OfflineCredentials.Api)9 DEFAULT_CONFIGURATION_FILENAME (com.google.api.ads.common.lib.utils.Builder.DEFAULT_CONFIGURATION_FILENAME)9 List (java.util.List)7 Parameter (com.beust.jcommander.Parameter)6 Operator (com.google.api.ads.adwords.axis.v201809.cm.Operator)6 ArrayList (java.util.ArrayList)6 DetailedReportDownloadResponseException (com.google.api.ads.adwords.lib.utils.DetailedReportDownloadResponseException)5