/// <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.v201405.CompanyService); // Set defaults for page and Statement. CompanyPage page = new CompanyPage(); StatementBuilder statementBuilder = new StatementBuilder() .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT); try { do { // Get companies by Statement. page = companyService.getCompaniesByStatement(statementBuilder.ToStatement()); if (page.results != null && page.results.Length > 0) { 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++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < page.totalResultSetSize); 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 sample code. /// </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.v201405.InventoryService); // Set the ID of the ad unit to update. int adUnitId = int.Parse(_T("INSERT_AD_UNIT_ID_HERE")); // Create a statement to get the ad unit. StatementBuilder statementBuilder = new StatementBuilder() .Where("id = :id") .OrderBy("id ASC") .Limit(1) .AddValue("id", adUnitId); try { // Get ad units by statement. AdUnitPage page = inventoryService.getAdUnitsByStatement(statementBuilder.ToStatement()); AdUnit adUnit = page.results[0]; adUnit.inheritedAdSenseSettings.value.adSenseEnabled = true; // Update the ad units on the server. AdUnit[] updatedAdUnits = inventoryService.updateAdUnits(new AdUnit[] { adUnit }); foreach (AdUnit updatedAdUnit in updatedAdUnits) { Console.WriteLine("Ad unit with ID \"{0}\", name \"{1}\", and is AdSense enabled " + "\"{2}\" was updated.", updatedAdUnit.id, updatedAdUnit.name, updatedAdUnit.inheritedAdSenseSettings.value.adSenseEnabled); } } catch (Exception ex) { Console.WriteLine("Failed to update 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 ActivityService. ActivityService activityService = (ActivityService) user.GetService(DfpService.v201405.ActivityService); // Set the ID of the activity to update. int activityId = int.Parse(_T("INSERT_ACTIVITY_ID_HERE")); try { // Get the activity. StatementBuilder statemetnBuilder = new StatementBuilder() .Where("id = :id") .OrderBy("id ASC") .Limit(1) .AddValue("id", activityId); ActivityPage page = activityService.getActivitiesByStatement( statemetnBuilder.ToStatement()); Activity activity = page.results[0]; // Update the expected URL. activity.expectedURL = "https://www.google.com"; // Update the activity on the server. Activity[] activities = activityService.updateActivities(new Activity[] {activity}); foreach (Activity updatedActivity in activities) { Console.WriteLine("Activity with ID \"{0}\" and name \"{1}\" was updated.", updatedActivity.id, updatedActivity.name); } } catch (Exception ex) { Console.WriteLine("Failed to update activities. 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.v201405.CompanyService); // Set the ID of the company to update. int companyId = int.Parse(_T("INSERT_COMPANY_ID_HERE")); // Create a Statement to select the company by ID. StatementBuilder statementBuilder = new StatementBuilder() .Where("id = :companyId") .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT) .AddValue("id", companyId); try { // Get the companies by Statement. CompanyPage page = companyService.getCompaniesByStatement(statementBuilder.ToStatement()); Company company = page.results[0]; // Update the company comment company.comment = company.comment + " Updated."; // Update the company on the server. Company[] companies = companyService.updateCompanies(new Company[] {company}); foreach (Company updatedCompany in companies) { Console.WriteLine("Company with ID = {0}, name = {1}, and comment \"{2}\" was updated", updatedCompany.id, updatedCompany.name, updatedCompany.comment); } } 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) { // Get the CompanyService. CompanyService companyService = (CompanyService) user.GetService(DfpService.v201405.CompanyService); // Create a Statement to only select companies that are advertisers sorted // by name. StatementBuilder statementBuilder = new StatementBuilder() .Where("type = :advertiser") .OrderBy("name ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT) .AddValue("advertiser", CompanyType.ADVERTISER.ToString()); CompanyPage page = new CompanyPage(); try { do { // Get companies by Statement. page = companyService.getCompaniesByStatement(statementBuilder.ToStatement()); if (page.results != null && page.results.Length > 0) { 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++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < page.totalResultSetSize); 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 PublisherQueryLanguageService. PublisherQueryLanguageService pqlService = (PublisherQueryLanguageService) user.GetService( DfpService.v201405.PublisherQueryLanguageService); try { StatementBuilder lineItemStatementBuilder = new StatementBuilder() .Select("Id, Name, Status") .From("Line_Item") .OrderBy("Id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT); string lineItemFilePath = "Line-Item-Matchtable.csv"; fetchMatchTables(pqlService, lineItemStatementBuilder, lineItemFilePath); StatementBuilder adUnitStatementBuilder = new StatementBuilder() .Select("Id, Name") .From("Ad_Unit") .OrderBy("Id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT); string adUnitFilePath = "Ad-Unit-Matchtable.csv"; fetchMatchTables(pqlService, adUnitStatementBuilder, adUnitFilePath); Console.WriteLine("Ad units saved to %s", adUnitFilePath); Console.WriteLine("Line items saved to %s\n", lineItemFilePath); } catch (Exception ex) { Console.WriteLine("Failed to get match tables. 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.v201405.TeamService); // Create a statement to order teams by name. StatementBuilder statementBuilder = new StatementBuilder() .OrderBy("name ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT); // Set default for page. TeamPage page = new TeamPage(); try { do { // Get teams by statement. page = teamService.getTeamsByStatement(statementBuilder.ToStatement()); // 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++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while(statementBuilder.GetOffset() < page.totalResultSetSize); 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) { // Get the ActivityService. ActivityService activityService = (ActivityService) user.GetService(DfpService.v201405.ActivityService); int totalResultsCounter = 0; try { StatementBuilder statementBuilder = new StatementBuilder() .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT); ActivityPage page = new ActivityPage(); do { // Get activities by statement. page = activityService.getActivitiesByStatement(statementBuilder.ToStatement()); // 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++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < 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 ActivityGroupService. ActivityGroupService activityGroupService = (ActivityGroupService) user.GetService(DfpService.v201405.ActivityGroupService); StatementBuilder statementBuilder = new StatementBuilder() .Where("status = :status") .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT) .AddValue("status", ActivityGroupStatus.ACTIVE.ToString()); // Set default for page. ActivityGroupPage page; try { do { // Get contacts by statement. page = activityGroupService.getActivityGroupsByStatement(statementBuilder.ToStatement()); if (page.results != null) { int i = page.startIndex; foreach (ActivityGroup activityGroup in page.results) { Console.WriteLine("{0}) Activity group with ID \"{1}\" and name \"{2}\" was found.", i, activityGroup.id, activityGroup.name); i++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < page.totalResultSetSize); Console.WriteLine("Number of results found: " + page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get activity groups. 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 ContactService. ContactService contactService = (ContactService) user.GetService(DfpService.v201405.ContactService); // Set the ID of the contact to update. long contactId = long.Parse(_T("INSERT_CONTACT_ID_HERE")); try { StatementBuilder statementBuilder = new StatementBuilder() .Where("id = :id") .OrderBy("id ASC") .Limit(1) .AddValue("id", contactId); // Get the contact. ContactPage page = contactService.getContactsByStatement(statementBuilder.ToStatement()); Contact contact = page.results[0]; // Update the address of the contact. contact.address = "123 New Street, New York, NY, 10011"; // Update the contact on the server. Contact[] contacts = contactService.updateContacts(new Contact[] {contact}); // Display results. foreach (Contact updatedContact in contacts) { Console.WriteLine("Contact with ID \"{0}\", name \"{1}\", and comment \"{2}\" was " + "updated.", updatedContact.id, updatedContact.name, updatedContact.comment); } } catch (Exception ex) { Console.WriteLine("Failed to update 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) { // Create the CreativeWrapperService. CreativeWrapperService creativeWrapperService = (CreativeWrapperService) user.GetService( DfpService.v201405.CreativeWrapperService); long creativeWrapperId = long.Parse(_T("INSERT_CREATIVE_WRAPPER_ID_HERE")); try { StatementBuilder statementBuilder = new StatementBuilder() .Where("id = :id") .OrderBy("id ASC") .Limit(1) .AddValue("id", creativeWrapperId); CreativeWrapperPage page = creativeWrapperService.getCreativeWrappersByStatement( statementBuilder.ToStatement()); CreativeWrapper wrapper = page.results[0]; wrapper.ordering = CreativeWrapperOrdering.OUTER; // Update the creative wrappers on the server. CreativeWrapper[] creativeWrappers = creativeWrapperService.updateCreativeWrappers( new CreativeWrapper[] {wrapper}); // Display results. foreach (CreativeWrapper createdCreativeWrapper in creativeWrappers) { Console.WriteLine("Creative wrapper with ID '{0}' and wrapping order '{1}' was " + "updated.", createdCreativeWrapper.id, createdCreativeWrapper.ordering); } } catch (Exception ex) { Console.WriteLine("Failed to update 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 InventoryService. InventoryService inventoryService = (InventoryService) user.GetService(DfpService.v201405.InventoryService); // Set the ID of the ad unit to deactivate. int adUnitId = int.Parse(_T("INSERT_AD_UNIT_ID_HERE")); // Create a statement to select the ad unit. StatementBuilder statementBuilder = new StatementBuilder() .Where("id = :id") .OrderBy("id ASC") .Limit(1) .AddValue("id", adUnitId); // Set default for page. AdUnitPage page = new AdUnitPage(); List<string> adUnitIds = new List<string>(); try { do { // Get ad units by Statement. page = inventoryService.getAdUnitsByStatement(statementBuilder.ToStatement()); if (page.results != null && page.results.Length > 0) { int i = page.startIndex; foreach (AdUnit adUnit in page.results) { Console.WriteLine("{0}) Ad unit with ID ='{1}', name = {2} and status = {3} will" + " be deactivated.", i, adUnit.id, adUnit.name, adUnit.status); adUnitIds.Add(adUnit.id); i++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < page.totalResultSetSize); Console.WriteLine("Number of ad units to be deactivated: {0}", adUnitIds.Count); // Modify statement for action. statementBuilder.RemoveLimitAndOffset(); // Create action. DeactivateAdUnits action = new DeactivateAdUnits(); // Perform action. UpdateResult result = inventoryService.performAdUnitAction(action, statementBuilder.ToStatement()); // Display results. if (result != null && result.numChanges > 0) { Console.WriteLine("Number of ad units deactivated: {0}", result.numChanges); } else { Console.WriteLine("No ad units were deactivated."); } } catch (Exception ex) { Console.WriteLine("Failed to deactivate 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 CreativeService. CreativeService creativeService = (CreativeService) user.GetService(DfpService.v201405.CreativeService); // Create a Statement to get all creatives. StatementBuilder statementBuilder = new StatementBuilder() .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT); // Set default for page. CreativePage page = new CreativePage(); try { do { // Get creatives by Statement. page = creativeService.getCreativesByStatement(statementBuilder.ToStatement()); 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++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < page.totalResultSetSize); Console.WriteLine("Number of results found: {0}", page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get all 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 OrderService. OrderService orderService = (OrderService) user.GetService(DfpService.v201405.OrderService); // Create a Statement to get all orders. StatementBuilder statementBuilder = new StatementBuilder() .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT); // Set default for page. OrderPage page = new OrderPage(); try { do { // Get orders by Statement. page = orderService.getOrdersByStatement(statementBuilder.ToStatement()); 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++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < page.totalResultSetSize); Console.WriteLine("Number of results found: {0}", page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get all orders. 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 ContentService. ContentService contentService = (ContentService) user.GetService(DfpService.v201405.ContentService); // Create a statement to get all content. StatementBuilder statementBuilder = new StatementBuilder() .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT); // Set default for page. ContentPage page = new ContentPage(); try { do { // Get content by statement. page = contentService.getContentByStatement(statementBuilder.ToStatement()); if (page.results != null) { int i = page.startIndex; foreach (Content content in page.results) { Console.WriteLine("{0}) Content with ID \"{1}\", name \"{2}\", and status \"{3}\" " + "was found.", i, content.id, content.name, content.status); i++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < page.totalResultSetSize); Console.WriteLine("Number of results found: " + page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get all content. 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 UserService. UserService userService = (UserService) user.GetService(DfpService.v201405.UserService); // Create a Statement to get all users. StatementBuilder statementBuilder = new StatementBuilder() .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT); // Sets defaults for page and Statement. UserPage page = new UserPage(); try { do { // Get users by Statement. page = userService.getUsersByStatement(statementBuilder.ToStatement()); if (page.results != null && page.results.Length > 0) { int i = page.startIndex; foreach (User usr in page.results) { Console.WriteLine("{0}) User with ID = '{1}', email = '{2}', and role = '{3}'" + " was found.", i, usr.id, usr.email, usr.roleName); i++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < page.totalResultSetSize); Console.WriteLine("Number of results found: {0}", page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get all users. 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 InventoryService. InventoryService inventoryService = (InventoryService) user.GetService(DfpService.v201405.InventoryService); StatementBuilder statementBuilder = new StatementBuilder() .Where("targetPlatform = :targetPlatform") .AddValue("targetPlatform", "WEB"); try { // Get all ad unit sizes. AdUnitSize[] adUnitSizes = inventoryService.getAdUnitSizesByStatement( statementBuilder.ToStatement()); // 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 InventoryService. InventoryService inventoryService = (InventoryService) user.GetService(DfpService.v201405.InventoryService); // Create a Statement to get all ad units. StatementBuilder statementBuilder = new StatementBuilder() .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT); // Set default for page. AdUnitPage page = new AdUnitPage(); try { do { // Get ad units by Statement. page = inventoryService.getAdUnitsByStatement(statementBuilder.ToStatement()); if (page.results != null && page.results.Length > 0) { int i = page.startIndex; foreach (AdUnit adUnit in page.results) { Console.WriteLine("{0}) Ad unit with ID = '{1}', name = '{2}' and status = '{3}' " + "was found.", i, adUnit.id, adUnit.name, adUnit.status); i++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < page.totalResultSetSize); Console.WriteLine("Number of results found: {0}", page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get ad unit. 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.v201405.ReportService); // Get the NetworkService. NetworkService networkService = (NetworkService) user.GetService( DfpService.v201405.NetworkService); // Get the root ad unit ID to filter on. String rootAdUnitId = networkService.getCurrentNetwork().effectiveRootAdUnitId; // Create statement to filter on a parent ad unit with the root ad unit ID to include all // ad units in the network. StatementBuilder statementBuilder = new StatementBuilder() .Where("PARENT_AD_UNIT_ID = :parentAdUnitId") .AddValue("parentAdUnitId", 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 SuggestedAdUnitService. SuggestedAdUnitService suggestedAdUnitService = (SuggestedAdUnitService) user.GetService( DfpService.v201405.SuggestedAdUnitService); // Set the number of requests for suggested ad units greater than which to approve. long NUMBER_OF_REQUESTS = 50L; // Create statement to select all suggested ad units that are highly requested. StatementBuilder statementBuilder = new StatementBuilder() .Where("numRequests > :numRequests") .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT) .AddValue("numRequests", NUMBER_OF_REQUESTS); // Set default for page. SuggestedAdUnitPage page = new SuggestedAdUnitPage(); try { do { // Get suggested ad units by statement. page = suggestedAdUnitService.getSuggestedAdUnitsByStatement( statementBuilder.ToStatement()); 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++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while(statementBuilder.GetOffset() < page.totalResultSetSize); Console.WriteLine("Number of suggested ad units to be approved: " + page.totalResultSetSize); // Modify statement for action. statementBuilder.RemoveLimitAndOffset(); // Create action. ApproveSuggestedAdUnit action = new ApproveSuggestedAdUnit(); // Perform action. SuggestedAdUnitUpdateResult result = suggestedAdUnitService.performSuggestedAdUnitAction( action, statementBuilder.ToStatement()); // 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."); } } 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) { // Get the PlacementService. PlacementService placementService = (PlacementService) user.GetService(DfpService.v201405.PlacementService); // Create Statement to select active placements. StatementBuilder statementBuilder = new StatementBuilder() .Where("status = :status") .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT) .AddValue("status", InventoryStatus.ACTIVE.ToString()); // Sets default for page. PlacementPage page = new PlacementPage(); List<string> placementIds = new List<string>(); try { do { // Get placements by Statement. page = placementService.getPlacementsByStatement(statementBuilder.ToStatement()); 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}'" + " will be deactivated.", i, placement.id, placement.name, placement.status); placementIds.Add(placement.id.ToString()); i++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < page.totalResultSetSize); Console.WriteLine("Number of placements to be deactivated: {0}", placementIds.Count); if (placementIds.Count > 0) { // Modify statement for action. statementBuilder.RemoveLimitAndOffset(); // Create action. DeactivatePlacements action = new DeactivatePlacements(); // Perform action. UpdateResult result = placementService.performPlacementAction(action, statementBuilder.ToStatement()); // Display results. if (result != null && result.numChanges > 0) { Console.WriteLine("Number of placements deactivated: {0}", result.numChanges); } else { Console.WriteLine("No placements were deactivated."); } } } catch (Exception ex) { Console.WriteLine("Failed to deactivate placements. 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(Lib.DfpUser user) { // Get the ContentMetadataKeyHierarchy service. ContentMetadataKeyHierarchyService contentMetadataKeyHierarchyService = (ContentMetadataKeyHierarchyService) user.GetService( DfpService.v201405.ContentMetadataKeyHierarchyService); // Set the ID of the content metadata key hierarchy to update. long contentMetadataKeyHierarchyId = long.Parse(_T("INSERT_CONTENT_METADATA_KEY_HIERARCHY_ID_HERE")); // Set the ID of the custom targeting key to be added as a hierarchy level long customTargetingKeyId = long.Parse(_T("INSERT_CUSTOM_TARGETING_KEY_ID_HERE")); // Create a statement to get content metadata key hierarchies. StatementBuilder statementBuilder = new StatementBuilder() .Where("WHERE id = :id") .OrderBy("id ASC") .Limit(1) .AddValue("id", contentMetadataKeyHierarchyId); try { ContentMetadataKeyHierarchyPage page = contentMetadataKeyHierarchyService .getContentMetadataKeyHierarchiesByStatement(statementBuilder.ToStatement()); ContentMetadataKeyHierarchy contentMetadataKeyHierarchy = page.results[0]; // Update the content metadata key hierarchy by adding a hierarchy level. ContentMetadataKeyHierarchyLevel[] hierarchyLevels = contentMetadataKeyHierarchy .hierarchyLevels; ContentMetadataKeyHierarchyLevel hierarchyLevel = new ContentMetadataKeyHierarchyLevel(); hierarchyLevel.customTargetingKeyId = customTargetingKeyId; hierarchyLevel.hierarchyLevel = hierarchyLevels.Length + 1; List<ContentMetadataKeyHierarchyLevel> updatedHieratchyLevels = new List<ContentMetadataKeyHierarchyLevel>(); updatedHieratchyLevels.AddRange(hierarchyLevels); updatedHieratchyLevels.Add(hierarchyLevel); contentMetadataKeyHierarchy.hierarchyLevels = updatedHieratchyLevels.ToArray(); // Update the content hierarchy on the server. ContentMetadataKeyHierarchy[] contentMetadataKeyHierarchies = contentMetadataKeyHierarchyService.updateContentMetadataKeyHierarchies( new ContentMetadataKeyHierarchy[] {contentMetadataKeyHierarchy}); foreach (ContentMetadataKeyHierarchy updatedContentMetadataKeyHierarchy in contentMetadataKeyHierarchies) { Console.WriteLine("Content metadata key hierarchy with ID \"{0}\", name " + "\"{1}\" was updated.", updatedContentMetadataKeyHierarchy.id, updatedContentMetadataKeyHierarchy.name); } } catch (Exception ex) { Console.WriteLine("Failed to update content metadata key hierarchies. 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.v201405.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. StatementBuilder statementBuilder = new StatementBuilder() .Where ("labelId = :labelId AND status = :status") .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT) .AddValue("status", CreativeWrapperStatus.ACTIVE.ToString()) .AddValue("labelId", labelId); // Set default for page. CreativeWrapperPage page = new CreativeWrapperPage(); do { page = creativeWrapperService.getCreativeWrappersByStatement(statementBuilder.ToStatement()); 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); } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < page.totalResultSetSize); Console.WriteLine("Number of creative wrappers to be deactivated: {0}", page.totalResultSetSize); // Modify statement for action. statementBuilder.RemoveLimitAndOffset(); // Perform action. CreativeWrapperAction action = new DeactivateCreativeWrappers(); UpdateResult result = creativeWrapperService.performCreativeWrapperAction(action, statementBuilder.ToStatement()); // 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 LabelService. LabelService labelService = (LabelService) user.GetService(DfpService.v201405.LabelService); // Set the ID of the label to deactivate. int labelId = int.Parse(_T("INSERT_LABEL_ID_HERE")); // Create statement text to select the label. StatementBuilder statementBuilder = new StatementBuilder() .Where("id = :id") .OrderBy("id ASC") .Limit(1) .AddValue("id", labelId); // Set default for page. LabelPage page = new LabelPage(); try { do { // Get labels by statement. page = labelService.getLabelsByStatement(statementBuilder.ToStatement()); 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); i++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < page.totalResultSetSize); Console.WriteLine("Number of labels to be deactivated: " + page.totalResultSetSize); // Modify statement for action. statementBuilder.RemoveLimitAndOffset(); // Create action. DeactivateLabels action = new DeactivateLabels(); // Perform action. UpdateResult result = labelService.performLabelAction(action, statementBuilder.ToStatement()); // 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.v201405.PublisherQueryLanguageService); string geoType = "City"; // Create statement to select all targetable cities. StatementBuilder statementBuilder = new StatementBuilder() .Select("Id, Name, CanonicalParentId, ParentIds, CountryCode") .From("Geo_Target") .Where("Type = :type and Targetable = true") .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT) .AddValue("type", geoType); int resultSetSize = 0; List<Row> allRows = new List<Row>(); ResultSet resultSet; try { do { // Get all cities. resultSet = pqlService.select(statementBuilder.ToStatement()); // Collect all cities from each page. allRows.AddRange(resultSet.rows); // Display results. Console.WriteLine(PqlUtilities.ResultSetToString(resultSet)); statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); resultSetSize = resultSet.rows == null ? 0 : resultSet.rows.Length; } while (resultSetSize > 0); 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. CreativeService creativeService = (CreativeService) user.GetService(DfpService.v201405.CreativeService); long creativeId = long.Parse(_T("INSERT_IMAGE_CREATIVE_ID_HERE")); // Create a statement to get the image creative. StatementBuilder statementBuilder = new StatementBuilder() .Where("id = :id") .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT) .AddValue("id", creativeId); try { // Get the creative. CreativePage page = creativeService.getCreativesByStatement(statementBuilder.ToStatement()); if (page.results != null) { ImageCreative imageCreative = (ImageCreative) page.results[0]; // Since we cannot set id to null, we mark it as not specified. imageCreative.idSpecified = false; imageCreative.advertiserId = imageCreative.advertiserId; imageCreative.name = imageCreative.name + " (Copy #" + GetTimeStamp() + ")"; // Create image asset. CreativeAsset creativeAsset = new CreativeAsset(); creativeAsset.fileName = "image.jpg"; creativeAsset.assetByteArray = MediaUtilities.GetAssetDataFromUrl( imageCreative.primaryImageAsset.assetUrl); creativeAsset.size = imageCreative.primaryImageAsset.size; imageCreative.primaryImageAsset = creativeAsset; // Create the copied creative. Creative[] creatives = creativeService.createCreatives(new Creative[] {imageCreative}); // Display copied creatives. foreach (Creative copiedCreative in creatives) { Console.WriteLine("Image creative with ID \"{0}\", name \"{1}\", and type \"{2}\" " + "was created and can be previewed at {3}", copiedCreative.id, copiedCreative.name, copiedCreative.CreativeType, copiedCreative.previewUrl); } } else { Console.WriteLine("No creatives were copied."); } } catch (Exception ex) { Console.WriteLine("Failed to copy creatives. 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.v201405.UserTeamAssociationService); // Set the user id of the user team association to update. long userId = long.Parse(_T("INSERT_USER_ID_HERE")); // Set the team id of the user team association to update. long teamId = long.Parse(_T("INSERT_TEAM_ID_HERE")); // Create a statement to select the user team association. StatementBuilder statementBuilder = new StatementBuilder() .Where("userId = :userId and teamId = :teamId") .OrderBy("userId ASC, teamId ASC") .Limit(1) .AddValue("userId", userId) .AddValue("teamId", teamId); try { // Get user team associations by statement. UserTeamAssociationPage page = userTeamAssociationService.getUserTeamAssociationsByStatement( statementBuilder.ToStatement()); UserTeamAssociation userTeamAssociation = page.results[0]; userTeamAssociation.overriddenTeamAccessType = TeamAccessType.READ_ONLY; // Update the user team associations on the server. UserTeamAssociation[] userTeamAssociations = userTeamAssociationService.updateUserTeamAssociations( new UserTeamAssociation[] {userTeamAssociation}); if (userTeamAssociations != null) { foreach (UserTeamAssociation updatedUserTeamAssociation in userTeamAssociations) { Console.WriteLine("User team association between user with ID \"{0}\" and team " + "with ID \"{1}\" was updated to access type \"{2}\".", updatedUserTeamAssociation.userId, updatedUserTeamAssociation.teamId, updatedUserTeamAssociation.overriddenTeamAccessType); } } else { Console.WriteLine("No user team associations updated."); } } 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 PublisherQueryLanguageService. PublisherQueryLanguageService pqlService = (PublisherQueryLanguageService) user.GetService( DfpService.v201405.PublisherQueryLanguageService); // Create statement to select all line items named like 'line item%'. StatementBuilder statementBuilder = new StatementBuilder() .Select("Id, Name, Status") .From("Line_Item") .Where("Name LIKE 'line item%'") .OrderBy("Id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT); List<Row> allRows = new List<Row>(); ResultSet resultSet; int resultSetSize = 0; try { do { // 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)); statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); resultSetSize = resultSet.rows == null ? 0 : resultSet.rows.Length; } while (resultSetSize > 0); 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 CustomFieldService. CustomFieldService customFieldService = (CustomFieldService) user.GetService( DfpService.v201405.CustomFieldService); // Create a statement to get all custom fields. StatementBuilder statementBuilder = new StatementBuilder() .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT); // Sets default for page. CustomFieldPage page = new CustomFieldPage(); try { do { // Get custom fields by statement. page = customFieldService.getCustomFieldsByStatement(statementBuilder.ToStatement()); if (page.results != null) { int i = page.startIndex; foreach (CustomField customField in page.results) { if (customField is DropDownCustomField) { List<String> dropDownCustomFieldStrings = new List<String>(); DropDownCustomField dropDownCustomField = (DropDownCustomField) customField; if (dropDownCustomField.options != null) { foreach (CustomFieldOption customFieldOption in dropDownCustomField.options) { dropDownCustomFieldStrings.Add(customFieldOption.displayName); } } Console.WriteLine("{0}) Drop-down custom field with ID \"{1}\", name \"{2}\", " + "and options {{{3}}} was found.", i, customField.id, customField.name, string.Join(", ", dropDownCustomFieldStrings.ToArray())); } else { Console.WriteLine("{0}) Custom field with ID \"{1}\" and name \"{2}\" was found.", i, customField.id, customField.name); } i++; } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < page.totalResultSetSize); Console.WriteLine("Number of results found: " + page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get all custom fields. 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.v201405.TeamService); // Set the ID of the team to update. long teamId = long.Parse(_T("INSERT_TEAM_ID_HERE")); // Set the ID of the ad unit to add to the team. String adUnitId = _T("INSERT_AD_UNIT_ID_HERE"); // Create a statement to select the team. StatementBuilder statementBuilder = new StatementBuilder() .Where("id = :id") .OrderBy("id ASC") .Limit(1) .AddValue("id", teamId); try { // Get the teams by statement. TeamPage page = teamService.getTeamsByStatement(statementBuilder.ToStatement()); Team team = page.results[0]; // 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. Team[] teams = teamService.updateTeams(new Team[] {team}); if (teams != null) { foreach (Team updatedTeam in teams) { Console.WriteLine("A team with ID \"{0}\" and name \"{1}\" was updated.", updatedTeam.id, updatedTeam.name); } } else { Console.WriteLine("No teams updated."); } } catch (Exception ex) { Console.WriteLine("Failed to update teams. Exception says \"{0}\"", ex.Message); } }