Search in sources :

Example 11 with Date

use of com.google.api.ads.admanager.axis.v202205.Date in project googleads-java-lib by googleads.

the class RunInventoryReport 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.
 * @throws IOException if the report's contents could not be written to a temp file.
 * @throws InterruptedException if the thread was interrupted while waiting for the report to be
 *     ready.
 */
public static void runExample(AdManagerServices adManagerServices, AdManagerSession session) throws IOException, InterruptedException {
    // Get the ReportService.
    ReportServiceInterface reportService = adManagerServices.get(session, ReportServiceInterface.class);
    // Create report query.
    ReportQuery reportQuery = new ReportQuery();
    reportQuery.setDimensions(new Dimension[] { Dimension.AD_UNIT_ID, Dimension.AD_UNIT_NAME });
    reportQuery.setColumns(new Column[] { Column.AD_SERVER_IMPRESSIONS, Column.AD_SERVER_CLICKS, Column.AD_EXCHANGE_LINE_ITEM_LEVEL_IMPRESSIONS, Column.AD_EXCHANGE_LINE_ITEM_LEVEL_CLICKS, Column.TOTAL_LINE_ITEM_LEVEL_IMPRESSIONS, Column.TOTAL_LINE_ITEM_LEVEL_CPM_AND_CPC_REVENUE });
    // Set the ad unit view to hierarchical.
    reportQuery.setAdUnitView(ReportQueryAdUnitView.HIERARCHICAL);
    // Set the dynamic date range type or a custom start and end date.
    reportQuery.setDateRangeType(DateRangeType.YESTERDAY);
    // Create report job.
    ReportJob reportJob = new ReportJob();
    reportJob.setReportQuery(reportQuery);
    // Run report job.
    reportJob = reportService.runReportJob(reportJob);
    // Create report downloader.
    ReportDownloader reportDownloader = new ReportDownloader(reportService, reportJob.getId());
    // Wait for the report to be ready.
    reportDownloader.waitForReportReady();
    // Change to your file location.
    File file = File.createTempFile("inventory-report-", ".csv.gz");
    System.out.printf("Downloading report to %s ...", file.toString());
    // Download the report.
    ReportDownloadOptions options = new ReportDownloadOptions();
    options.setExportFormat(ExportFormat.CSV_DUMP);
    options.setUseGzipCompression(true);
    URL url = reportDownloader.getDownloadUrl(options);
    Resources.asByteSource(url).copyTo(Files.asByteSink(file));
    System.out.println("done.");
}
Also used : ReportDownloader(com.google.api.ads.admanager.axis.utils.v202205.ReportDownloader) ReportDownloadOptions(com.google.api.ads.admanager.axis.v202205.ReportDownloadOptions) ReportQuery(com.google.api.ads.admanager.axis.v202205.ReportQuery) ReportServiceInterface(com.google.api.ads.admanager.axis.v202205.ReportServiceInterface) ReportJob(com.google.api.ads.admanager.axis.v202205.ReportJob) File(java.io.File) URL(java.net.URL)

Example 12 with Date

use of com.google.api.ads.admanager.axis.v202205.Date in project googleads-java-lib by googleads.

the class AsyncDownloadReport 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 ReportService.
    ReportServiceInterface reportService = adManagerServices.get(session, ReportServiceInterface.class);
    // Create report query.
    ReportQuery reportQuery = new ReportQuery();
    reportQuery.setDimensions(new Dimension[] { Dimension.DATE, Dimension.ORDER_ID });
    reportQuery.setColumns(new Column[] { Column.AD_SERVER_IMPRESSIONS });
    // Set the dynamic date range type or a custom start and end date.
    reportQuery.setDateRangeType(DateRangeType.LAST_WEEK);
    // Create report job.
    ReportJob reportJob = new ReportJob();
    reportJob.setReportQuery(reportQuery);
    // Run report job.
    reportJob = reportService.runReportJob(reportJob);
    // Create report downloader.
    final ReportDownloader reportDownloader = new ReportDownloader(reportService, reportJob.getId());
    reportDownloader.whenReportReady(new ReportCallback() {

        @Override
        public void onSuccess() {
            try {
                // Change to your file location.
                File file = File.createTempFile("async-report-", ".csv.gz");
                System.out.printf("Downloading report to %s ...", file.toString());
                // Download the report.
                ReportDownloadOptions options = new ReportDownloadOptions();
                options.setExportFormat(ExportFormat.CSV_DUMP);
                options.setUseGzipCompression(true);
                URL url = reportDownloader.getDownloadUrl(options);
                Resources.asByteSource(url).copyTo(Files.asByteSink(file));
                System.out.println("done.");
            } catch (IOException e) {
                System.err.println("Failed to write report.");
            }
        }

        @Override
        public void onInterruption() {
            System.err.println("Report download interupted.");
        }

        @Override
        public void onFailure() {
            System.err.println("Report download failed.");
        }

        @Override
        public void onException(Exception e) {
            System.err.println("Report download failed.");
            e.printStackTrace();
        }
    });
}
Also used : ReportDownloader(com.google.api.ads.admanager.axis.utils.v202205.ReportDownloader) ReportCallback(com.google.api.ads.admanager.lib.utils.ReportCallback) ReportDownloadOptions(com.google.api.ads.admanager.axis.v202205.ReportDownloadOptions) ReportQuery(com.google.api.ads.admanager.axis.v202205.ReportQuery) ReportServiceInterface(com.google.api.ads.admanager.axis.v202205.ReportServiceInterface) ReportJob(com.google.api.ads.admanager.axis.v202205.ReportJob) IOException(java.io.IOException) File(java.io.File) URL(java.net.URL) ApiException(com.google.api.ads.admanager.axis.v202205.ApiException) OAuthException(com.google.api.ads.common.lib.exception.OAuthException) ConfigurationLoadException(com.google.api.ads.common.lib.conf.ConfigurationLoadException) IOException(java.io.IOException) RemoteException(java.rmi.RemoteException) ValidationException(com.google.api.ads.common.lib.exception.ValidationException)

Example 13 with Date

use of com.google.api.ads.admanager.axis.v202205.Date in project googleads-java-lib by googleads.

the class CreateForecastAdjustments method runExample.

/**
 * Runs the example.
 *
 * @param adManagerServices the services factory.
 * @param session the session.
 * @param trafficForecastSegmentId the ID of the traffic forecast segment to create the adjustment
 *  for.
 * @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 trafficForecastSegmentId) throws RemoteException {
    // Get the adjustment service.
    AdjustmentServiceInterface adjustmentService = adManagerServices.get(session, AdjustmentServiceInterface.class);
    ForecastAdjustment forecastAdjustment = new ForecastAdjustment();
    forecastAdjustment.setName("Forecast adjustment #" + new Random().nextInt(Integer.MAX_VALUE));
    forecastAdjustment.setTrafficForecastSegmentId(trafficForecastSegmentId);
    // Set the date range that this adjustment will be applied to.
    Date startDate = new Date(org.joda.time.DateTime.now().plusYears(1).getYear(), 1, 1);
    Date endDate = new Date(org.joda.time.DateTime.now().plusYears(1).getYear(), 1, 1);
    DateRange dateRange = new DateRange();
    dateRange.setStartDate(startDate);
    dateRange.setEndDate(endDate);
    forecastAdjustment.setDateRange(dateRange);
    // Set the adjustment type to be a historical basis.
    forecastAdjustment.setVolumeType(ForecastAdjustmentVolumeType.HISTORICAL_BASIS_VOLUME);
    HistoricalBasisVolumeSettings settings = new HistoricalBasisVolumeSettings();
    settings.setUseParentTrafficForecastSegmentTargeting(true);
    Date historicalStartDate = new Date(org.joda.time.DateTime.now().getYear(), 1, 1);
    Date historicalEndDate = new Date(org.joda.time.DateTime.now().getYear(), 1, 1);
    DateRange historicalDateRange = new DateRange();
    historicalDateRange.setStartDate(historicalStartDate);
    historicalDateRange.setEndDate(historicalEndDate);
    settings.setHistoricalDateRange(historicalDateRange);
    settings.setMultiplierMilliPercent(110000L);
    forecastAdjustment.setHistoricalBasisVolumeSettings(settings);
    forecastAdjustment.setStatus(ForecastAdjustmentStatus.ACTIVE);
    // Update the forecast adjustment on the server.
    ForecastAdjustment[] forecastAdjustments = adjustmentService.createForecastAdjustments(new ForecastAdjustment[] { forecastAdjustment });
    for (ForecastAdjustment createdForecastAdjustment : forecastAdjustments) {
        System.out.printf("Forecast adjustment with ID %d and name '%s' was created.%n", createdForecastAdjustment.getId(), createdForecastAdjustment.getName());
    }
}
Also used : DateRange(com.google.api.ads.admanager.axis.v202205.DateRange) Random(java.util.Random) HistoricalBasisVolumeSettings(com.google.api.ads.admanager.axis.v202205.HistoricalBasisVolumeSettings) AdjustmentServiceInterface(com.google.api.ads.admanager.axis.v202205.AdjustmentServiceInterface) ForecastAdjustment(com.google.api.ads.admanager.axis.v202205.ForecastAdjustment) Date(com.google.api.ads.admanager.axis.v202205.Date)

Example 14 with Date

use of com.google.api.ads.admanager.axis.v202205.Date in project googleads-java-lib by googleads.

the class Pql method createValue.

/**
 * Creates a {@link Value} from the value i.e. a {@link TextValue} for a value of type {@code
 * String}, {@link BooleanValue} for type {@code Boolean}, {@link NumberValue} for type {@code
 * Double}, {@code Long}, or {@code Integer}, and {@link DateTimeValue} for type {@link DateTime}.
 * If the value is a {@code Value}, the value is returned. If the value is {@code null}, an empty
 * {@link TextValue} is returned.
 *
 * @param value the value to convert
 * @return the constructed value of the appropriate type
 * @throws IllegalArgumentException if value cannot be converted
 */
public static Value createValue(Object value) {
    if (value instanceof Value) {
        return (Value) value;
    } else if (value == null) {
        return new TextValue();
    } else {
        if (value instanceof Boolean) {
            BooleanValue booleanValue = new BooleanValue();
            booleanValue.setValue((Boolean) value);
            return booleanValue;
        } else if (value instanceof Double || value instanceof Long || value instanceof Integer) {
            NumberValue numberValue = new NumberValue();
            numberValue.setValue(value.toString());
            return numberValue;
        } else if (value instanceof String) {
            TextValue textValue = new TextValue();
            textValue.setValue((String) value);
            return textValue;
        } else if (value instanceof DateTime) {
            DateTimeValue dateTimeValue = new DateTimeValue();
            dateTimeValue.setValue((DateTime) value);
            return dateTimeValue;
        } else if (value instanceof Date) {
            DateValue dateValue = new DateValue();
            dateValue.setValue((Date) value);
            return dateValue;
        } else if (value instanceof Targeting) {
            TargetingValue targetingValue = new TargetingValue();
            targetingValue.setValue((Targeting) value);
            return targetingValue;
        } else if (value instanceof Set<?>) {
            SetValue setValue = new SetValue();
            Set<Value> values = new LinkedHashSet<Value>();
            for (Object entry : (Set<?>) value) {
                validateSetValueEntryForSet(createValue(entry), values);
                values.add(createValue(entry));
            }
            setValue.getValues().addAll(values);
            return setValue;
        } else {
            throw new IllegalArgumentException("Unsupported Value type [" + value.getClass() + "]");
        }
    }
}
Also used : Set(java.util.Set) ResultSet(com.google.api.ads.admanager.jaxws.v202108.ResultSet) LinkedHashSet(java.util.LinkedHashSet) DateTimeValue(com.google.api.ads.admanager.jaxws.v202108.DateTimeValue) Targeting(com.google.api.ads.admanager.jaxws.v202108.Targeting) DateTime(com.google.api.ads.admanager.jaxws.v202108.DateTime) Date(com.google.api.ads.admanager.jaxws.v202108.Date) NumberValue(com.google.api.ads.admanager.jaxws.v202108.NumberValue) TextValue(com.google.api.ads.admanager.jaxws.v202108.TextValue) DateValue(com.google.api.ads.admanager.jaxws.v202108.DateValue) BooleanValue(com.google.api.ads.admanager.jaxws.v202108.BooleanValue) DateTimeValue(com.google.api.ads.admanager.jaxws.v202108.DateTimeValue) NumberValue(com.google.api.ads.admanager.jaxws.v202108.NumberValue) TextValue(com.google.api.ads.admanager.jaxws.v202108.TextValue) SetValue(com.google.api.ads.admanager.jaxws.v202108.SetValue) BooleanValue(com.google.api.ads.admanager.jaxws.v202108.BooleanValue) DateValue(com.google.api.ads.admanager.jaxws.v202108.DateValue) TargetingValue(com.google.api.ads.admanager.jaxws.v202108.TargetingValue) Value(com.google.api.ads.admanager.jaxws.v202108.Value) TargetingValue(com.google.api.ads.admanager.jaxws.v202108.TargetingValue) SetValue(com.google.api.ads.admanager.jaxws.v202108.SetValue)

Example 15 with Date

use of com.google.api.ads.admanager.axis.v202205.Date in project googleads-java-lib by googleads.

the class PqlTest method setUp.

@Before
public void setUp() throws Exception {
    column1 = new ColumnType();
    column1.setLabelName("column1");
    column2 = new ColumnType();
    column2.setLabelName("column2");
    column3 = new ColumnType();
    column3.setLabelName("column3");
    textValue1 = new TextValue();
    textValue1.setValue("value1");
    textValue2 = new TextValue();
    textValue2.setValue("value2");
    textValue3 = new TextValue();
    textValue3.setValue("value3");
    textValue4 = new TextValue();
    textValue4.setValue("comma,separated");
    booleanValue1 = new BooleanValue();
    booleanValue1.setValue(false);
    booleanValue2 = new BooleanValue();
    booleanValue2.setValue(true);
    booleanValue3 = new BooleanValue();
    booleanValue3.setValue(false);
    numberValue1 = new NumberValue();
    numberValue1.setValue("1");
    numberValue2 = new NumberValue();
    numberValue2.setValue("1.02");
    numberValue3 = new NumberValue();
    numberValue3.setValue("-1");
    dateTime1 = new DateTime();
    date1 = new Date();
    date1.setYear(2012);
    date1.setMonth(12);
    date1.setDay(2);
    dateTime1.setDate(date1);
    dateTime1.setHour(12);
    dateTime1.setMinute(45);
    dateTime1.setSecond(0);
    dateTime1.setTimeZoneId(TIME_ZONE_ID1);
    dateTimeValue1 = new DateTimeValue();
    dateTimeValue1.setValue(dateTime1);
    dateValue1 = new DateValue();
    dateValue1.setValue(date1);
    AdUnitTargeting adUnitTargeting = new AdUnitTargeting();
    adUnitTargeting.setAdUnitId("100");
    InventoryTargeting inventoryTargeting = new InventoryTargeting();
    inventoryTargeting.getTargetedAdUnits().add(adUnitTargeting);
    targeting1 = new Targeting();
    targeting1.setInventoryTargeting(inventoryTargeting);
    targetingValue1 = new TargetingValue();
    targetingValue1.setValue(targeting1);
    numberSetValue = new SetValue();
    numberSetValue.getValues().add(numberValue1);
    numberSetValue.getValues().add(numberValue3);
    textSetValue = new SetValue();
    textSetValue.getValues().add(textValue1);
    textSetValue.getValues().add(textValue2);
    dateSetValue = new SetValue();
    dateSetValue.getValues().add(dateValue1);
    dateTimeSetValue = new SetValue();
    dateTimeSetValue.getValues().add(dateTimeValue1);
    mixedSetValue = new SetValue();
    mixedSetValue.getValues().add(textValue1);
    mixedSetValue.getValues().add(dateTimeValue1);
    commaTextSetValue = new SetValue();
    commaTextSetValue.getValues().add(textValue1);
    commaTextSetValue.getValues().add(textValue4);
}
Also used : ColumnType(com.google.api.ads.admanager.jaxws.v202108.ColumnType) DateTimeValue(com.google.api.ads.admanager.jaxws.v202108.DateTimeValue) AdUnitTargeting(com.google.api.ads.admanager.jaxws.v202108.AdUnitTargeting) InventoryTargeting(com.google.api.ads.admanager.jaxws.v202108.InventoryTargeting) Targeting(com.google.api.ads.admanager.jaxws.v202108.Targeting) InventoryTargeting(com.google.api.ads.admanager.jaxws.v202108.InventoryTargeting) DateTime(com.google.api.ads.admanager.jaxws.v202108.DateTime) Date(com.google.api.ads.admanager.jaxws.v202108.Date) AdUnitTargeting(com.google.api.ads.admanager.jaxws.v202108.AdUnitTargeting) NumberValue(com.google.api.ads.admanager.jaxws.v202108.NumberValue) TextValue(com.google.api.ads.admanager.jaxws.v202108.TextValue) DateValue(com.google.api.ads.admanager.jaxws.v202108.DateValue) BooleanValue(com.google.api.ads.admanager.jaxws.v202108.BooleanValue) TargetingValue(com.google.api.ads.admanager.jaxws.v202108.TargetingValue) SetValue(com.google.api.ads.admanager.jaxws.v202108.SetValue) Before(org.junit.Before)

Aggregations

LinkedHashSet (java.util.LinkedHashSet)20 Set (java.util.Set)10 Before (org.junit.Before)10 Test (org.junit.Test)9 Date (edu.princeton.cs.algs4.Date)7 ReportDownloader (com.google.api.ads.admanager.axis.utils.v202205.ReportDownloader)6 Date (com.google.api.ads.admanager.axis.v202108.Date)5 Date (com.google.api.ads.admanager.axis.v202111.Date)5 Date (com.google.api.ads.admanager.axis.v202202.Date)5 ReportDownloadOptions (com.google.api.ads.admanager.axis.v202205.ReportDownloadOptions)4 ReportJob (com.google.api.ads.admanager.axis.v202205.ReportJob)4 ReportQuery (com.google.api.ads.admanager.axis.v202205.ReportQuery)4 ReportServiceInterface (com.google.api.ads.admanager.axis.v202205.ReportServiceInterface)4 File (java.io.File)4 URL (java.net.URL)4 org.jaxdb.www.ddlx_0_5.xLygluGCXAA.$Bigint (org.jaxdb.www.ddlx_0_5.xLygluGCXAA.$Bigint)4 org.jaxdb.www.ddlx_0_5.xLygluGCXAA.$Binary (org.jaxdb.www.ddlx_0_5.xLygluGCXAA.$Binary)4 org.jaxdb.www.ddlx_0_5.xLygluGCXAA.$Blob (org.jaxdb.www.ddlx_0_5.xLygluGCXAA.$Blob)4 org.jaxdb.www.ddlx_0_5.xLygluGCXAA.$Boolean (org.jaxdb.www.ddlx_0_5.xLygluGCXAA.$Boolean)4 org.jaxdb.www.ddlx_0_5.xLygluGCXAA.$Char (org.jaxdb.www.ddlx_0_5.xLygluGCXAA.$Char)4