/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the InventoryService. InventoryService inventoryService = (InventoryService) user.GetService(DfpService.v201311.InventoryService); Statement filterStatement = new StatementBuilder("WHERE targetPlatform = :targetPlatform"). AddValue("targetPlatform", "WEB").ToStatement(); try { // Get all ad unit sizes. AdUnitSize[] adUnitSizes = inventoryService.getAdUnitSizesByStatement(filterStatement); // Display results. if (adUnitSizes != null) { for (int i = 0; i < adUnitSizes.Length; i++) { AdUnitSize adUnitSize = adUnitSizes[i]; Console.WriteLine("{0}) Ad unit size ({1}x{2}) was found.\n", i, adUnitSize.size.width, adUnitSize.size.height); } } else { Console.WriteLine("No ad unit sizes found."); } } catch (Exception ex) { Console.WriteLine("Failed to get ad unit sizes. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the SuggestedAdUnitService. SuggestedAdUnitService suggestedAdUnitService = (SuggestedAdUnitService) user.GetService( DfpService.v201311.SuggestedAdUnitService); // Set the number of requests to 50 or more. long NUMBER_OF_REQUESTS = 50L; // Create a statement to only select suggested ad units that have more // than 50 requests. Statement filterStatement = new StatementBuilder("WHERE numRequests > :numRequests LIMIT 500") .AddValue("numRequests", NUMBER_OF_REQUESTS).ToStatement(); try { // Get suggested ad units by statement. SuggestedAdUnitPage page = suggestedAdUnitService.getSuggestedAdUnitsByStatement( filterStatement); if (page.results != null) { int i = page.startIndex; foreach (SuggestedAdUnit suggestedAdUnit in page.results) { Console.WriteLine("{0}) Suggested ad unit with ID \"{1}\", and number of requests " + "\"{2}\" was found.", i, suggestedAdUnit.id, suggestedAdUnit.numRequests); i++; } } Console.WriteLine("Number of results found: " + page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get suggested ad units. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the CreativeTemplateService. CreativeTemplateService creativeTemplateService = (CreativeTemplateService) user.GetService(DfpService.v201311.CreativeTemplateService); // Create a statement to only select system defined creative templates. Statement filterStatement = new StatementBuilder("WHERE type = :creativeTemplateType LIMIT 500").AddValue( "creativeTemplateType", CreativeTemplateType.SYSTEM_DEFINED.ToString()).ToStatement(); try { // Get creative templates by statement. CreativeTemplatePage page = creativeTemplateService.getCreativeTemplatesByStatement( filterStatement); if (page.results != null) { int i = page.startIndex; foreach (CreativeTemplate creativeTemplate in page.results) { Console.WriteLine("{0}) Creative template with ID \"{1}\", name \"{2}\", and type " + "\"{3}\" was found.", i, creativeTemplate.id, creativeTemplate.name, creativeTemplate.type); i++; } } Console.WriteLine("Number of results found: " + page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get creative templates. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the CreativeService. CustomTargetingService customTargetingService = (CustomTargetingService) user.GetService(DfpService.v201311.CustomTargetingService); try { // Create a statement to only select predefined custom targeting keys. Statement filterStatement = new StatementBuilder("WHERE type = :type LIMIT 500").AddValue( "type", CustomTargetingKeyType.PREDEFINED.ToString()).ToStatement(); // Get custom targeting keys by statement. CustomTargetingKeyPage page = customTargetingService.getCustomTargetingKeysByStatement(filterStatement); if (page.results != null) { int i = page.startIndex; foreach (CustomTargetingKey customTargetingKey in page.results) { Console.WriteLine("{0}) Custom targeting key with ID \"{1}\", name \"{2}\", and " + "display name \"{3}\" was found.", i, customTargetingKey.id, customTargetingKey.name, customTargetingKey.displayName); i++; } } Console.WriteLine("Number of results found: {0}", page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get predefined custom targeting keys. Exception " + "says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the LineItemCreativeAssociationService. LineItemCreativeAssociationService licaService = (LineItemCreativeAssociationService) user.GetService(DfpService.v201311.LineItemCreativeAssociationService); // Set the line item to get LICAs by. long lineItemId = long.Parse(_T("INSERT_LINE_ITEM_ID_HERE")); // Create a Statement to only select LICAs for the given lineItem ID. Statement statement = new StatementBuilder("WHERE lineItemId = :lineItemId LIMIT 500"). AddValue("lineItemId", lineItemId).ToStatement(); try { // Get LICAs by Statement. LineItemCreativeAssociationPage page = licaService.getLineItemCreativeAssociationsByStatement(statement); if (page.results != null && page.results.Length > 0) { int i = page.startIndex; foreach (LineItemCreativeAssociation lica in page.results) { Console.WriteLine("{0}) LICA with line item ID = '{1}', creative ID ='{2}' and " + "status ='{3}' was found.", i, lica.lineItemId, lica.creativeId, lica.status); i++; } } Console.WriteLine("Number of results found: {0}", page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get LICAs. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the PlacementService. PlacementService placementService = (PlacementService) user.GetService(DfpService.v201311.PlacementService); // Create a Statement to only select active placements. Statement statement = new StatementBuilder("WHERE status = :status LIMIT 500").AddValue( "status", InventoryStatus.ACTIVE.ToString()).ToStatement(); try { // Get placements by Statement. PlacementPage page = placementService.getPlacementsByStatement(statement); // Display results. if (page.results != null && page.results.Length > 0) { int i = page.startIndex; foreach (Placement placement in page.results) { Console.WriteLine("{0}) Placement with ID = '{1}', name ='{2}', and status = '{3}' " + "was found.", i, placement.id, placement.name, placement.status); i++; } } Console.WriteLine("Number of results found: {0}", page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get placement by Statement. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the OrderService. LineItemService lineItemService = (LineItemService) user.GetService( DfpService.v201311.LineItemService); long orderId = long.Parse(_T("INSERT_ORDER_ID_HERE")); try { // Create statement to only select line items for the given order that // have been modified in the last 3 days. DateTime threeDaysAgo = DateTimeUtilities.FromDateTime(System.DateTime.Now.AddDays(-3)); Statement filterStatement = new StatementBuilder( "WHERE lastModifiedDateTime >= :lastModifiedDateTime AND orderId = :orderId LIMIT 500"). AddValue("lastModifiedDateTime", threeDaysAgo). AddValue("orderId", orderId).ToStatement(); // Get line items by statement. LineItemPage page = lineItemService.getLineItemsByStatement(filterStatement); // Display results. if (page != null && page.results != null) { foreach (LineItem lineItem in page.results) { Console.WriteLine("Line item with id \"{0}\", belonging to order id \"{1}\" and " + "named \"{2}\" was found.", lineItem.id, lineItem.orderId, lineItem.name); } Console.WriteLine("Number of results found: {1}.", page.totalResultSetSize); } else { Console.WriteLine("No line items were found."); } } catch (Exception ex) { Console.WriteLine("Failed to get line items. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the LabelService. LabelService labelService = (LabelService) user.GetService(DfpService.v201311.LabelService); // Create a statement to only select labels that are competitive // sorted by name. Statement filterStatement = new StatementBuilder("WHERE type = :type ORDER BY name LIMIT 500") .AddValue("type", LabelType.COMPETITIVE_EXCLUSION.ToString()).ToStatement(); try { // Get labels by statement. LabelPage page = labelService.getLabelsByStatement(filterStatement); if (page.results != null) { int i = page.startIndex; foreach (Label label in page.results) { StringBuilder builder = new StringBuilder(); foreach (LabelType labelType in label.types) { builder.AppendFormat("{0} | ", labelType); } Console.WriteLine("{0}) Label with ID '{1}', name '{2}'and type '{3}' was found.", i, label.id, label.name, builder.ToString().TrimEnd(' ', '|')); i++; } } Console.WriteLine("Number of results found: " + page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get labels. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the CompanyService. CompanyService companyService = (CompanyService) user.GetService(DfpService.v201311.CompanyService); // Create a Statement to only select companies that are advertisers sorted // by name. Statement statement = new StatementBuilder("WHERE type = :advertiser ORDER BY name " + "LIMIT 500").AddValue("advertiser", CompanyType.ADVERTISER.ToString()).ToStatement(); try { // Get companies by Statement. CompanyPage page = companyService.getCompaniesByStatement(statement); if (page.results != null) { int i = page.startIndex; foreach (Company company in page.results) { Console.WriteLine("{0}) Company with ID = {1}, name = {2} and type = {3} was found", i, company.id, company.name, company.type); i++; } } Console.WriteLine("Number of results found: {0}", page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get companies. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the OrderService. OrderService orderService = (OrderService) user.GetService(DfpService.v201311.OrderService); // Set the name of the advertiser (company) to get orders for. String advertiserId = _T("INSERT_ADVERTISER_COMPANY_ID_HERE"); // Create a Statement to only select orders for a given advertiser. Statement statement = new StatementBuilder("WHERE advertiserId = :advertiserId LIMIT 500"). AddValue("advertiserId", advertiserId).ToStatement(); try { // Get orders by Statement. OrderPage page = orderService.getOrdersByStatement(statement); if (page.results != null && page.results.Length > 0) { int i = page.startIndex; foreach (Order order in page.results) { Console.WriteLine("{0}) Order with ID = '{1}', name = '{2}', and advertiser " + "ID = '{3}' was found.", i, order.id, order.name, order.advertiserId); i++; } } Console.WriteLine("Number of results found: " + page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get orders by Statement. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the ActivityService. ActivityService activityService = (ActivityService) user.GetService(DfpService.v201311.ActivityService); int totalResultsCounter = 0; try { Statement filterStatement = new StatementBuilder("").ToStatement(); ActivityPage page = new ActivityPage(); int offset = 0; do { filterStatement.query = "ORDER BY id LIMIT 500 OFFSET " + offset; // Get activities by statement. page = activityService.getActivitiesByStatement(filterStatement); // Display results. if (page.results != null) { foreach (Activity activity in page.results) { Console.WriteLine("{0}) Activity with ID \"{1}\", name \"{2}\" and type \"{3}\" " + "was found.\n", totalResultsCounter, activity.id, activity.name, activity.type); totalResultsCounter++; } } offset += 500; } while (offset < page.totalResultSetSize); Console.WriteLine("Number of results found: {0}.", totalResultsCounter); } catch (Exception ex) { Console.WriteLine("Failed to get contacts. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the CreativeService. CreativeService creativeService = (CreativeService) user.GetService(DfpService.v201311.CreativeService); // Create a Statement to only select image creatives. Statement statement = new StatementBuilder("WHERE creativeType = :creativeType LIMIT 500"). AddValue("creativeType", "ImageCreative").ToStatement(); try { // Get creatives by Statement. CreativePage page = creativeService.getCreativesByStatement(statement); if (page.results != null && page.results.Length > 0) { int i = page.startIndex; foreach (Creative creative in page.results) { Console.WriteLine("{0}) Creative with ID ='{1}', name ='{2}' and type ='{3}' " + "was found.", i, creative.id, creative.name, creative.CreativeType); i++; } } Console.WriteLine("Number of results found: {0}", page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get creatives by Statement. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the LineItemService. LineItemService lineItemService = (LineItemService) user.GetService(DfpService.v201311.LineItemService); // Set the ID of the order to get line items from. long orderId = long.Parse(_T("INSERT_ORDER_ID_HERE")); // Create a statement to only select line items that need creatives from a // given order. Statement filterStatement = new StatementBuilder("WHERE orderId = :orderId AND status = :status LIMIT 500") .AddValue("orderId", orderId) .AddValue("status", ComputedStatus.NEEDS_CREATIVES.ToString()) .ToStatement(); try { // Get line items by Statement. LineItemPage page = lineItemService.getLineItemsByStatement(filterStatement); if (page.results != null && page.results.Length > 0) { int i = page.startIndex; foreach (LineItem lineItem in page.results) { Console.WriteLine("{0}) Line item with ID ='{1}', belonging to order ID = '{2}' and " + "named '{3}' was found.", i, lineItem.id, lineItem.orderId, lineItem.name); i++; } } Console.WriteLine("Number of results found: {0}", page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get line item by Statement. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the TeamService. TeamService teamService = (TeamService) user.GetService(DfpService.v201311.TeamService); // Create a statement to order teams by name. Statement filterStatement = new StatementBuilder("ORDER BY name LIMIT 500").ToStatement(); try { // Get teams by statement. TeamPage page = teamService.getTeamsByStatement(filterStatement); // Display results. if (page.results != null) { int i = page.startIndex; foreach (Team team in page.results) { Console.WriteLine("{0}) Team with ID \"{1}\" and name \"{2}\" was found.", i, team.id, team.name); i++; } } Console.WriteLine("Number of results found: " + page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get teams by statement. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { ReportService reportService = (ReportService) user.GetService( DfpService.v201311.ReportService); // Get the NetworkService. NetworkService networkService = (NetworkService) user.GetService( DfpService.v201311.NetworkService); // Get the root ad unit ID to filter on. String rootAdUnitId = networkService.getCurrentNetwork().effectiveRootAdUnitId; // Create statement to filter on an ancestor ad unit with the root ad unit ID to include all // ad units in the network. StatementBuilder statementBuilder = new StatementBuilder( "where AD_UNIT_ANCESTOR_AD_UNIT_ID = :ancestorAdUnitId"). AddValue("ancestorAdUnitId", long.Parse(rootAdUnitId)); // Create report query. ReportQuery reportQuery = new ReportQuery(); reportQuery.dimensions = new Dimension[] { Dimension.AD_UNIT_ID, Dimension.AD_UNIT_NAME }; reportQuery.columns = new Column[] {Column.AD_SERVER_IMPRESSIONS, Column.AD_SERVER_CLICKS, Column.DYNAMIC_ALLOCATION_INVENTORY_LEVEL_IMPRESSIONS, Column.DYNAMIC_ALLOCATION_INVENTORY_LEVEL_CLICKS, Column.TOTAL_INVENTORY_LEVEL_IMPRESSIONS, Column.TOTAL_INVENTORY_LEVEL_CPM_AND_CPC_REVENUE}; // Set the filter statement. reportQuery.statement = statementBuilder.ToStatement(); reportQuery.adUnitView = ReportQueryAdUnitView.HIERARCHICAL; reportQuery.dateRangeType = DateRangeType.LAST_WEEK; // Create report job. ReportJob reportJob = new ReportJob(); reportJob.reportQuery = reportQuery; try { // Run report. reportJob = reportService.runReportJob(reportJob); // Wait for report to complete. while (reportJob.reportJobStatus == ReportJobStatus.IN_PROGRESS) { Console.WriteLine("Report job with id = '{0}' is still running.", reportJob.id); Thread.Sleep(30000); // Get report job. reportJob = reportService.getReportJob(reportJob.id); } if (reportJob.reportJobStatus == ReportJobStatus.COMPLETED) { Console.WriteLine("Report job with id = '{0}' completed successfully.", reportJob.id); } else if (reportJob.reportJobStatus == ReportJobStatus.FAILED) { Console.WriteLine("Report job with id = '{0}' failed to complete successfully.", reportJob.id); } } catch (Exception ex) { Console.WriteLine("Failed to run inventory report. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the LabelService. LabelService labelService = (LabelService) user.GetService(DfpService.v201311.LabelService); // Create statement text to select active labels. String statementText = "WHERE isActive = :isActive LIMIT 500"; Statement filterStatement = new StatementBuilder("").AddValue("isActive", true).ToStatement(); // Set defaults for page and offset. LabelPage page = new LabelPage(); int offset = 0; List<string> labelIds = new List<string>(); try { do { // Create a statement to page through active labels. filterStatement.query = statementText + " OFFSET " + offset; // Get labels by statement. page = labelService.getLabelsByStatement(filterStatement); if (page.results != null) { int i = page.startIndex; foreach (Label label in page.results) { Console.WriteLine("{0}) Label with ID '{1}', name '{2}' will be deactivated.", i, label.id, label.name); labelIds.Add(label.id.ToString()); i++; } } offset += 500; } while (offset < page.totalResultSetSize); Console.WriteLine("Number of labels to be deactivated: " + labelIds.Count); if (labelIds.Count > 0) { // Modify statement for action. filterStatement.query = "WHERE id IN (" + string.Join(", ", labelIds.ToArray()) + ")"; // Create action. DeactivateLabels action = new DeactivateLabels(); // Perform action. UpdateResult result = labelService.performLabelAction(action, filterStatement); // Display results. if (result != null && result.numChanges > 0) { Console.WriteLine("Number of labels deactivated: " + result.numChanges); } else { Console.WriteLine("No labels were deactivated."); } } } catch (Exception ex) { Console.WriteLine("Failed to deactivate labels. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the PublisherQueryLanguageService. PublisherQueryLanguageService pqlService = (PublisherQueryLanguageService) user.GetService( DfpService.v201311.PublisherQueryLanguageService); string geoType = "City"; int pageSize = 500; // Create statement to select all targetable cities. String selectStatement = "SELECT Id, Name, CanonicalParentId, ParentIds, CountryCode from " + "Geo_Target where Type = :type and Targetable = true order by CountryCode ASC, " + "Name ASC limit " + pageSize; Statement statement = new StatementBuilder(selectStatement).AddValue("type", geoType) .ToStatement(); int offset = 0; int resultSetSize = 0; List<Row> allRows = new List<Row>(); ResultSet resultSet; try { do { statement.query = selectStatement + " OFFSET " + offset; // Get all cities. resultSet = pqlService.select(statement); // Collect all cities from each page. allRows.AddRange(resultSet.rows); // Display results. Console.WriteLine(PqlUtilities.ResultSetToString(resultSet)); offset += pageSize; resultSetSize = resultSet.rows == null ? 0 : resultSet.rows.Length; } while (resultSetSize == pageSize); Console.WriteLine("Number of results found: " + allRows.Count); // Optionally, save all rows to a CSV. // Get a string array representation of the data rows. resultSet.rows = allRows.ToArray(); List<String[]> rows = PqlUtilities.ResultSetToStringArrayList(resultSet); // Write the contents to a csv file. CsvFile file = new CsvFile(); file.Headers.AddRange(rows[0]); file.Records.AddRange(rows.GetRange(1, rows.Count - 1).ToArray()); file.Write(geoType + "_" + this.GetTimeStamp() + ".csv"); } catch (Exception ex) { Console.WriteLine("Failed to get Geo type = '{0}'. Exception says \"{1}\"", geoType, ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the CreativeService. CustomTargetingService customTargetingService = (CustomTargetingService) user.GetService(DfpService.v201311.CustomTargetingService); // Set the ID of the predefined custom targeting key to get custom // targeting values for. long customTargetingKeyId = long.Parse(_T("INSERT_CUSTOM_TARGETING_KEY_ID_HERE")); // Create a statement to only select predefined custom targeting values // for a given key. Statement filterStatement = new StatementBuilder("WHERE customTargetingKeyId = :customTargetingKeyId LIMIT 500") .AddValue("customTargetingKeyId", customTargetingKeyId).ToStatement(); try { // Get custom targeting values by statement. CustomTargetingValuePage page = customTargetingService.getCustomTargetingValuesByStatement(filterStatement); if (page.results != null) { CustomTargetingValue[] customTargetingValues = page.results; // Update each local custom targeting value object by changing its // display name. foreach (CustomTargetingValue customTargetingValue in customTargetingValues) { if (customTargetingValue.displayName == null) { customTargetingValue.displayName = customTargetingValue.displayName; } customTargetingValue.displayName = customTargetingValue.displayName + " (Deprecated)"; } // Update the custom targeting values on the server. customTargetingValues = customTargetingService.updateCustomTargetingValues(customTargetingValues); if (customTargetingValues != null) { foreach (CustomTargetingValue customTargetingValue in customTargetingValues) { Console.WriteLine("Custom targeting value with ID \"{0}\", name \"{1}\", and " + "display name \"{2}\" was updated.", customTargetingValue.id, customTargetingValue.name, customTargetingValue.displayName); } } else { Console.WriteLine("No custom targeting values updated."); } } else { Console.WriteLine("No custom targeting values found to update."); } } catch (Exception ex) { Console.WriteLine("Failed to update display names of custom targeting values. Exception " + "says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the PublisherQueryLanguageService. PublisherQueryLanguageService pqlService = (PublisherQueryLanguageService) user.GetService( DfpService.v201311.PublisherQueryLanguageService); int pageSize = 500; // Create statement to select all line items. String selectStatement = "SELECT Id, Name, Status FROM Line_Item where Name LIKE " + "'line item%' order by Id ASC LIMIT " + pageSize; int offset = 0; int resultSetSize = 0; List<Row> allRows = new List<Row>(); ResultSet resultSet; try { do { StatementBuilder statementBuilder = new StatementBuilder(selectStatement + " OFFSET " + offset); // Get line items like 'line item%'. resultSet = pqlService.select(statementBuilder.ToStatement()); // Collect all line items from each page. allRows.AddRange(resultSet.rows); // Display results. Console.WriteLine(PqlUtilities.ResultSetToString(resultSet)); offset += pageSize; resultSetSize = resultSet.rows == null ? 0 : resultSet.rows.Length; } while (resultSetSize == pageSize); Console.WriteLine("Number of results found: " + allRows.Count); // Optionally, save all rows to a CSV. // Get a string array representation of the data rows. resultSet.rows = allRows.ToArray(); List<String[]> rows = PqlUtilities.ResultSetToStringArrayList(resultSet); // Write the contents to a csv file. CsvFile file = new CsvFile(); file.Headers.AddRange(rows[0]); file.Records.AddRange(rows.GetRange(1, rows.Count - 1).ToArray()); file.Write("line_items_named_like_" + GetTimeStamp() + ".csv"); } catch (Exception ex) { Console.WriteLine("Failed to get line items. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the LineItemService. LineItemService lineItemService = (LineItemService) user.GetService(DfpService.v201311.LineItemService); // Set the ID of the order to get line items from. long orderId = long.Parse(_T("INSERT_ORDER_ID_HERE")); // Create a Statement to get line items with even delivery rates. Statement statement = new StatementBuilder("WHERE deliveryRateType = :deliveryRateType and " + "orderId = :orderId LIMIT 500").AddValue("deliveryRateType", DeliveryRateType.EVENLY.ToString()).AddValue("orderId", orderId).ToStatement(); try { // Get line items by Statement. LineItemPage page = lineItemService.getLineItemsByStatement(statement); if (page.results != null && page.results.Length > 0) { LineItem[] lineItems = page.results; List<LineItem> lineItemsToUpdate = new List<LineItem>(); // Update each local line item object by changing its delivery rate. foreach (LineItem lineItem in lineItems) { // Archived line items cannot be updated. if (!lineItem.isArchived) { lineItem.deliveryRateType = DeliveryRateType.AS_FAST_AS_POSSIBLE; lineItemsToUpdate.Add(lineItem); } } // Update the line items on the server. lineItems = lineItemService.updateLineItems(lineItemsToUpdate.ToArray()); if (lineItems != null) { foreach (LineItem lineItem in lineItems) { Console.WriteLine("A line item with ID = '{0}', belonging to order ID = '{1}', " + "named '{2}', and having delivery rate = '{3}' was updated.", lineItem.id, lineItem.orderId, lineItem.name, lineItem.deliveryRateType); } } else { Console.WriteLine("No line items updated."); } } else { Console.WriteLine("No line items found to update."); } } catch (Exception ex) { Console.WriteLine("Failed to update line items. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the TeamService. TeamService teamService = (TeamService) user.GetService(DfpService.v201311.TeamService); // Set the ID of the ad unit to add to the teams. String adUnitId = _T("INSERT_AD_UNIT_ID_HERE"); // Create a statement to select first 5 teams that aren't built-in. Statement filterStatement = new StatementBuilder("WHERE id > 0 LIMIT 5").ToStatement(); try { // Get the teams by statement. TeamPage page = teamService.getTeamsByStatement(filterStatement); if (page.results != null) { Team[] teams = page.results; // Update each local team object by adding the ad unit to it. foreach (Team team in teams) { // Don't add ad unit if the team has all inventory already. if (!team.hasAllInventory) { List<String> adUnitIds = new List<String>(); if (team.adUnitIds != null) { adUnitIds.AddRange(team.adUnitIds); } adUnitIds.Add(adUnitId); team.adUnitIds = adUnitIds.ToArray(); } } // Update the teams on the server. teams = teamService.updateTeams(teams); if (teams != null) { foreach (Team team in teams) { Console.WriteLine("A team with ID \"{0}\" and name \"{1}\" was updated.", team.id, team.name); } } else { Console.WriteLine("No teams updated."); } } else { Console.WriteLine("No teams found to update."); } } catch (Exception ex) { Console.WriteLine("Failed to update teams. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="dfpUser">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the UserTeamAssociationService. UserTeamAssociationService userTeamAssociationService = (UserTeamAssociationService) user.GetService( DfpService.v201311.UserTeamAssociationService); // Set the user to set to read only access within its teams. long userId = long.Parse(_T("INSERT_USER_ID_HERE")); // Create filter text to select user team associations by the user ID. String statementText = "WHERE userId = :userId LIMIT 500"; Statement filterStatement = new StatementBuilder(statementText). AddValue("userId", userId).ToStatement(); try { // Get user team associations by statement. UserTeamAssociationPage page = userTeamAssociationService.getUserTeamAssociationsByStatement(filterStatement); if (page.results != null) { UserTeamAssociation[] userTeamAssociations = page.results; // Update each local user team association to read only access. foreach (UserTeamAssociation userTeamAssociation in userTeamAssociations) { userTeamAssociation.overriddenTeamAccessType = TeamAccessType.READ_ONLY; } // Update the user team associations on the server. userTeamAssociations = userTeamAssociationService.updateUserTeamAssociations(userTeamAssociations); if (userTeamAssociations != null) { foreach (UserTeamAssociation userTeamAssociation in userTeamAssociations) { Console.WriteLine("User team association between user with ID \"{0}\" and team " + "with ID \"{1}\" was updated to access type \"{2}\".", userTeamAssociation.userId, userTeamAssociation.teamId, userTeamAssociation.overriddenTeamAccessType); } } else { Console.WriteLine("No user team associations updated."); } } else { Console.WriteLine("No user team associations found to update."); } } catch (Exception ex) { Console.WriteLine("Failed to update user team associations. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the SuggestedAdUnitService. SuggestedAdUnitService suggestedAdUnitService = (SuggestedAdUnitService) user.GetService( DfpService.v201311.SuggestedAdUnitService); // Create statement to select all suggested ad units with 50 or more // requests. string statementText = "WHERE numRequests >= 50"; Statement filterStatement = new StatementBuilder(statementText).ToStatement(); try { // Get suggested ad units by statement. SuggestedAdUnitPage page = suggestedAdUnitService.getSuggestedAdUnitsByStatement(filterStatement); int i = 0; if (page != null && page.results != null) { foreach (SuggestedAdUnit suggestedAdUnit in page.results) { Console.WriteLine("{0}) Suggested ad unit with ID \"{1}\", and \"{2}\" will be " + "approved.", i, suggestedAdUnit.id, suggestedAdUnit.numRequests); i++; } Console.WriteLine("Number of suggested ad units to be approved: " + page.totalResultSetSize); // Create action. ApproveSuggestedAdUnit action = new ApproveSuggestedAdUnit(); // Perform action. SuggestedAdUnitUpdateResult result = suggestedAdUnitService.performSuggestedAdUnitAction( action, filterStatement); // Display results. if (result != null && result.numChanges > 0) { Console.WriteLine("Number of suggested ad units approved: " + result.numChanges); } else { Console.WriteLine("No suggested ad units were approved."); } } else { Console.WriteLine("No suggested ad units were approved."); } } catch (Exception ex) { Console.WriteLine("Failed to approve suggested ad units. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { ReportService reportService = (ReportService) user.GetService( DfpService.v201311.ReportService); long orderId = long.Parse(_T("INSERT_ORDER_ID_HERE")); // Create statement object to filter for an order. Statement filterStatement = new StatementBuilder("WHERE ORDER_ID = :id").AddValue( "id", orderId).ToStatement(); // Create report job. ReportJob reportJob = new ReportJob(); reportJob.reportQuery = new ReportQuery(); reportJob.reportQuery.dimensions = new Dimension[] {Dimension.ORDER_ID, Dimension.ORDER_NAME}; reportJob.reportQuery.dimensionAttributes = new DimensionAttribute[] { DimensionAttribute.ORDER_TRAFFICKER, DimensionAttribute.ORDER_START_DATE_TIME, DimensionAttribute.ORDER_END_DATE_TIME}; reportJob.reportQuery.columns = new Column[] {Column.AD_SERVER_IMPRESSIONS, Column.AD_SERVER_CLICKS, Column.AD_SERVER_CTR, Column.AD_SERVER_CPM_AND_CPC_REVENUE, Column.AD_SERVER_WITHOUT_CPD_AVERAGE_ECPM}; reportJob.reportQuery.dateRangeType = DateRangeType.LAST_MONTH; reportJob.reportQuery.statement = filterStatement; try { // Run report. reportJob = reportService.runReportJob(reportJob); // Wait for report to complete. while (reportJob.reportJobStatus == ReportJobStatus.IN_PROGRESS) { Console.WriteLine("Report job with id = '{0}' is still running.", reportJob.id); Thread.Sleep(30000); // Get report job. reportJob = reportService.getReportJob(reportJob.id); } if (reportJob.reportJobStatus == ReportJobStatus.COMPLETED) { Console.WriteLine("Report job with id = '{0}' completed successfully.", reportJob.id); } else if (reportJob.reportJobStatus == ReportJobStatus.FAILED) { Console.WriteLine("Report job with id = '{0}' failed to complete successfully.", reportJob.id); } } catch (Exception ex) { Console.WriteLine("Failed to run delivery report. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the CreativeService. CreativeService creativeService = (CreativeService) user.GetService(DfpService.v201311.CreativeService); // Create a Statement to get all image creatives. Statement statement = new StatementBuilder("WHERE creativeType = :creativeType LIMIT 500"). AddValue("creativeType", "ImageCreative").ToStatement(); try { // Get creatives by Statement. CreativePage page = creativeService.getCreativesByStatement(statement); if (page.results != null && page.results.Length > 0) { Creative[] creatives = page.results; // Update each local creative object by changing its destination URL. foreach (Creative creative in creatives) { if (creative is ImageCreative) { ImageCreative imageCreative = (ImageCreative) creative; imageCreative.destinationUrl = "http://news.google.com"; } } // Update the creatives on the server. creatives = creativeService.updateCreatives(creatives); if (creatives != null) { foreach (Creative creative in creatives) { if (creative is ImageCreative) { ImageCreative imageCreative = (ImageCreative) creative; Console.WriteLine("An image creative with ID = '{0}' and destination URL ='{1}' " + "was updated.", imageCreative.id, imageCreative.destinationUrl); } } } else { Console.WriteLine("No creatives updated."); } } else { Console.WriteLine("No creatives found to update."); } } catch (Exception ex) { Console.WriteLine("Failed to update creatives. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the CompanyService. CompanyService companyService = (CompanyService) user.GetService(DfpService.v201311.CompanyService); // Create a Statement to only select companies that are advertisers. Statement statement = new StatementBuilder("WHERE type = :advertiser LIMIT 500").AddValue( "advertiser", CompanyType.ADVERTISER.ToString()).ToStatement(); try { // Get the companies by Statement. CompanyPage page = companyService.getCompaniesByStatement(statement); if (page.results != null && page.results.Length > 0) { Company[] companies = page.results; // Update each local company object by appending LLC. to its name. foreach (Company company in companies) { company.name = company.name + " LLC."; } // Update the companies on the server. companies = companyService.updateCompanies(companies); if (companies != null && companies.Length > 0) { int i = 0; foreach (Company company in companies) { Console.WriteLine("{0}) Company with ID = {1}, name = {2} was updated", i, company.id, company.name, company.type); i++; } } else { Console.WriteLine("No companies updated."); } } else { Console.WriteLine("No companies found to update."); } } catch (Exception ex) { Console.WriteLine("Failed to update companies. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Create the CreativeWrapperService. CreativeWrapperService creativeWrapperService = (CreativeWrapperService) user.GetService( DfpService.v201311.CreativeWrapperService); long labelId = long.Parse(_T("INSERT_CREATIVE_WRAPPER_LABEL_ID_HERE")); try { // Create a query to select the active creative wrapper for the given // label. Statement statement = new StatementBuilder("WHERE status = :status AND labelId = :labelId") .AddValue("labelId", labelId) .AddValue("status", CreativeWrapperStatus.ACTIVE.ToString()) .ToStatement(); CreativeWrapperPage page = creativeWrapperService.getCreativeWrappersByStatement(statement); CreativeWrapper[] creativeWrappers = page.results; if (creativeWrappers != null) { foreach (CreativeWrapper wrapper in creativeWrappers) { Console.WriteLine("Creative wrapper with ID \'{0}\' applying to label \'{1}\' with " + "status \'{2}\' will be deactivated.", wrapper.id, wrapper.labelId, wrapper.status); } Console.WriteLine("Number of creative wrappers to be deactivated: {0}", creativeWrappers.Length); // Perform action. CreativeWrapperAction action = new DeactivateCreativeWrappers(); UpdateResult result = creativeWrapperService.performCreativeWrapperAction(action, statement); // Display results. if (result.numChanges > 0) { Console.WriteLine("Number of creative wrappers deactivated: {0}", result.numChanges); } else { Console.WriteLine("No creative wrappers were deactivated."); } } } catch (Exception ex) { Console.WriteLine("Failed to create creative wrappers. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the AudienceSegmentService. AudienceSegmentService audienceSegmentService = (AudienceSegmentService) user.GetService(DfpService.v201311.AudienceSegmentService); long audienceSegmentId = long.Parse(_T("INSERT_AUDIENCE_SEGMENT_ID_HERE")); // Create a statement to only select a specified first party audience // segment. string statementText = "where id = :audienceSegmentId order by id ASC " + "LIMIT 1"; Statement statement = new StatementBuilder(statementText) .AddValue("audienceSegmentId", audienceSegmentId) .ToStatement(); try { // Get audience segment by Statement. AudienceSegment audienceSegment = audienceSegmentService.getAudienceSegmentsByStatement(statement).results[0]; Console.WriteLine("Audience segment with id \"{0}\" and name \"{1}\" " + "will be populated", audienceSegment.id, audienceSegment.name); // Create action. PopulateAudienceSegments action = new PopulateAudienceSegments(); statement.query = statementText; // Perform action. UpdateResult result = audienceSegmentService.performAudienceSegmentAction( action, statement); if (result != null && result.numChanges > 0) { Console.WriteLine("Number of audience segments populated: {0}", result.numChanges); } else { Console.WriteLine("No audience segments were populated."); } } catch (Exception ex) { Console.WriteLine("Failed to populate audience segment. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the LabelService. LabelService labelService = (LabelService) user.GetService(DfpService.v201311.LabelService); // Create a statement to only select labels that are competitive // exclusion. Statement filterStatement = new StatementBuilder("WHERE isActive = :isActive LIMIT 500"). AddValue("isActive", true).ToStatement(); try { // Get the labels by statement. LabelPage page = labelService.getLabelsByStatement(filterStatement); if (page.results != null) { Label[] labels = page.results; // Update each local label object by updating its description. foreach (Label label in labels) { label.description = "These labels are still competiting with each other."; } // Update the labels on the server. labels = labelService.updateLabels(labels); if (labels != null) { foreach (Label label in labels) { Console.WriteLine("A label with ID '{0}' and name '{1}' was updated.", label.id, label.name); } } else { Console.WriteLine("No labels updated."); } } else { Console.WriteLine("No labels found to update."); } } catch (Exception ex) { Console.WriteLine("Failed to update labels. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="dfpUser">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the UserTeamAssociationService. UserTeamAssociationService userTeamAssociationService = (UserTeamAssociationService) user.GetService( DfpService.v201311.UserTeamAssociationService); // Get the UserService. UserService userService = (UserService) user.GetService(DfpService.v201311.UserService); try { // Get the current user. long currentUserId = userService.getCurrentUser().id; // Create filter text to select user team associations by the user ID. String statementText = "WHERE userId = :userId LIMIT 500"; Statement filterStatement = new StatementBuilder(statementText). AddValue("userId", currentUserId).ToStatement(); // Get user team associations by statement. UserTeamAssociationPage page = userTeamAssociationService.getUserTeamAssociationsByStatement(filterStatement); // Display results. if (page.results != null) { int i = page.startIndex; foreach (UserTeamAssociation userTeamAssociation in page.results) { Console.WriteLine("{0}) User team association between user with ID \"{1}\" and team " + "with ID \"{2}\" was found.", i, userTeamAssociation.userId, userTeamAssociation.teamId); i++; } } Console.WriteLine("Number of results found: " + page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get user team associations. Exception says \"{0}\"", ex.Message); } }