/// <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(Lib.DfpUser user) { // Get the ContentMetadataKeyHierarchy service. ContentMetadataKeyHierarchyService contentMetadataKeyHierarchyService = (ContentMetadataKeyHierarchyService)user.GetService( DfpService.v201403.ContentMetadataKeyHierarchyService); // Set the IDs of the custom targeting keys for the hierarchy. long customTargetingKeyId1 = long.Parse(_T("INSERT_LEVEL_ONE_CUSTOM_TARGETING_KEY_ID_HERE")); long customTargetingKeyId2 = long.Parse(_T("INSERT_LEVEL_TWO_CUSTOM_TARGETING_KEY_ID_HERE")); List <ContentMetadataKeyHierarchyLevel> hierarchyLevels = new List <ContentMetadataKeyHierarchyLevel>(); ContentMetadataKeyHierarchyLevel hierarchyLevel1 = new ContentMetadataKeyHierarchyLevel(); hierarchyLevel1.customTargetingKeyId = customTargetingKeyId1; hierarchyLevel1.hierarchyLevel = 1; hierarchyLevels.Add(hierarchyLevel1); ContentMetadataKeyHierarchyLevel hierarchyLevel2 = new ContentMetadataKeyHierarchyLevel(); hierarchyLevel2.customTargetingKeyId = customTargetingKeyId2; hierarchyLevel2.hierarchyLevel = 2; hierarchyLevels.Add(hierarchyLevel2); ContentMetadataKeyHierarchy contentMetadataKeyHierarchy = new ContentMetadataKeyHierarchy(); contentMetadataKeyHierarchy.name = "Content hierarchy #" + new Random().Next(int.MaxValue); contentMetadataKeyHierarchy.hierarchyLevels = hierarchyLevels.ToArray(); try { // Create the content metadata key hierarchy on the server. ContentMetadataKeyHierarchy[] contentMetadataKeyHierarchies = contentMetadataKeyHierarchyService.createContentMetadataKeyHierarchies( new ContentMetadataKeyHierarchy[] { contentMetadataKeyHierarchy }); foreach (ContentMetadataKeyHierarchy createdContentMetadataKeyHierarchy in contentMetadataKeyHierarchies) { Console.WriteLine("A content metadata key hierarchy with ID \"{0}\", name " + "\"{1}\" and {2} levels was created.", createdContentMetadataKeyHierarchy.id, createdContentMetadataKeyHierarchy.name, createdContentMetadataKeyHierarchy.hierarchyLevels.Length); } } catch (Exception ex) { Console.WriteLine("Failed to create 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(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 delete. long contentMetadataKeyHierarchyId = long.Parse(_T("INSERT_CONTENT_METADATA_KEY_HIERARCHY_ID_HERE")); // Create a statement to select a content metadata key hierarchy. StatementBuilder statementBuilder = new StatementBuilder() .Where("WHERE id = :id") .OrderBy("id ASC") .Limit(1) .AddValue("id", contentMetadataKeyHierarchyId); try { // Get content metadata key hierarchies by statement. ContentMetadataKeyHierarchyPage page = contentMetadataKeyHierarchyService .getContentMetadataKeyHierarchiesByStatement(statementBuilder.ToStatement()); ContentMetadataKeyHierarchy contentMetadataKeyHierarchy = page.results[0]; Console.WriteLine("Content metadata key hierarchy with ID \"{0}\" will be deleted.", contentMetadataKeyHierarchy.id); statementBuilder.RemoveLimitAndOffset(); // Create action. Google.Api.Ads.Dfp.v201405.DeleteContentMetadataKeyHierarchies action = new Google.Api.Ads.Dfp.v201405.DeleteContentMetadataKeyHierarchies(); // Perform action. UpdateResult result = contentMetadataKeyHierarchyService .performContentMetadataKeyHierarchyAction(action, statementBuilder.ToStatement()); Console.WriteLine("Number of content metadata key hierarchies deleted: {0}", result.numChanges); } catch (Exception ex) { Console.WriteLine("Failed to delete 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(Lib.DfpUser user) { // Get the ContentMetadataKeyHierarchy service. ContentMetadataKeyHierarchyService contentMetadataKeyHierarchyService = (ContentMetadataKeyHierarchyService)user.GetService( DfpService.v201403.ContentMetadataKeyHierarchyService); // Create a statement to get all content metadata key hierarchies StatementBuilder statementBuilder = new StatementBuilder() .OrderBy("id ASC") .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT); try { int totalResultSetSize = 0; do { // Get content metadata key hierarchies by statement. ContentMetadataKeyHierarchyPage page = contentMetadataKeyHierarchyService .getContentMetadataKeyHierarchiesByStatement(statementBuilder.ToStatement()); if (page.results != null) { totalResultSetSize = page.totalResultSetSize; int i = page.startIndex; foreach (ContentMetadataKeyHierarchy contentMetadataKeyHierarchy in page.results) { Console.WriteLine("{0}) Content metadata key hierarchy with ID \"{1}\", " + "and name \"{2}\" was found.", i++, contentMetadataKeyHierarchy.id, contentMetadataKeyHierarchy.name); } } statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT); } while (statementBuilder.GetOffset() < totalResultSetSize); Console.WriteLine("Number of results found: {0}", totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get content metadata key hierarchies. Exception " + "says \"{0}\"", ex.Message); } }