/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> public void Run(AdWordsUser user) { // Get the ManagedCustomerService. ManagedCustomerService managedCustomerService = (ManagedCustomerService) user.GetService( AdWordsService.v201506.ManagedCustomerService); // Create selector. Selector selector = new Selector(); selector.fields = new String[] { ManagedCustomer.Fields.CustomerId, ManagedCustomer.Fields.Name }; try { // Get results. ManagedCustomerPage page = managedCustomerService.get(selector); // Display serviced account graph. if (page.entries != null) { // Create map from customerId to customer node. Dictionary<long, ManagedCustomerTreeNode> customerIdToCustomerNode = new Dictionary<long, ManagedCustomerTreeNode>(); // Create account tree nodes for each customer. foreach (ManagedCustomer customer in page.entries) { ManagedCustomerTreeNode node = new ManagedCustomerTreeNode(); node.Account = customer; customerIdToCustomerNode.Add(customer.customerId, node); } // For each link, connect nodes in tree. if (page.links != null) { foreach (ManagedCustomerLink link in page.links) { ManagedCustomerTreeNode managerNode = customerIdToCustomerNode[link.managerCustomerId]; ManagedCustomerTreeNode childNode = customerIdToCustomerNode[link.clientCustomerId]; childNode.ParentNode = managerNode; if (managerNode != null) { managerNode.ChildAccounts.Add(childNode); } } } // Find the root account node in the tree. ManagedCustomerTreeNode rootNode = null; foreach (ManagedCustomer account in page.entries) { if (customerIdToCustomerNode[account.customerId].ParentNode == null) { rootNode = customerIdToCustomerNode[account.customerId]; break; } } // Display account tree. Console.WriteLine("CustomerId, Name"); Console.WriteLine(rootNode.ToTreeString(0, new StringBuilder())); } else { Console.WriteLine("No serviced accounts were found."); } } catch (Exception e) { throw new System.ApplicationException("Failed to create ad groups.", e); } }
/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> public void Run(AdWordsUser user) { using (ManagedCustomerService managedCustomerService = (ManagedCustomerService)user.GetService( AdWordsService.v201802.ManagedCustomerService)) { // Create selector. Selector selector = new Selector(); selector.fields = new String[] { ManagedCustomer.Fields.CustomerId, ManagedCustomer.Fields.Name }; selector.paging = Paging.Default; // Map from customerId to customer node. Dictionary <long, ManagedCustomerTreeNode> customerIdToCustomerNode = new Dictionary <long, ManagedCustomerTreeNode>(); // Temporary cache to save links. List <ManagedCustomerLink> allLinks = new List <ManagedCustomerLink>(); ManagedCustomerPage page = null; try { do { page = managedCustomerService.get(selector); if (page.entries != null) { // Create account tree nodes for each customer. foreach (ManagedCustomer customer in page.entries) { ManagedCustomerTreeNode node = new ManagedCustomerTreeNode(); node.Account = customer; customerIdToCustomerNode.Add(customer.customerId, node); } if (page.links != null) { allLinks.AddRange(page.links); } } selector.paging.IncreaseOffset(); } while (selector.paging.startIndex < page.totalNumEntries); // For each link, connect nodes in tree. foreach (ManagedCustomerLink link in allLinks) { ManagedCustomerTreeNode managerNode = customerIdToCustomerNode[link.managerCustomerId]; ManagedCustomerTreeNode childNode = customerIdToCustomerNode[link.clientCustomerId]; childNode.ParentNode = managerNode; if (managerNode != null) { managerNode.ChildAccounts.Add(childNode); } } // Find the root account node in the tree. ManagedCustomerTreeNode rootNode = null; foreach (ManagedCustomerTreeNode node in customerIdToCustomerNode.Values) { if (node.ParentNode == null) { rootNode = node; break; } } // Display account tree. Console.WriteLine("CustomerId, Name"); Console.WriteLine(rootNode.ToTreeString(0, new StringBuilder())); } catch (Exception e) { throw new System.ApplicationException("Failed to create ad groups.", e); } } }
/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> public void Run(AdWordsUser user) { // Get the ManagedCustomerService. ManagedCustomerService managedCustomerService = (ManagedCustomerService)user.GetService( AdWordsService.v201502.ManagedCustomerService); // Create selector. Selector selector = new Selector(); selector.fields = new String[] { ManagedCustomer.Fields.CustomerId, ManagedCustomer.Fields.Name }; try { // Get results. ManagedCustomerPage page = managedCustomerService.get(selector); // Display serviced account graph. if (page.entries != null) { // Create map from customerId to customer node. Dictionary <long, ManagedCustomerTreeNode> customerIdToCustomerNode = new Dictionary <long, ManagedCustomerTreeNode>(); // Create account tree nodes for each customer. foreach (ManagedCustomer customer in page.entries) { ManagedCustomerTreeNode node = new ManagedCustomerTreeNode(); node.Account = customer; customerIdToCustomerNode.Add(customer.customerId, node); } // For each link, connect nodes in tree. if (page.links != null) { foreach (ManagedCustomerLink link in page.links) { ManagedCustomerTreeNode managerNode = customerIdToCustomerNode[link.managerCustomerId]; ManagedCustomerTreeNode childNode = customerIdToCustomerNode[link.clientCustomerId]; childNode.ParentNode = managerNode; if (managerNode != null) { managerNode.ChildAccounts.Add(childNode); } } } // Find the root account node in the tree. ManagedCustomerTreeNode rootNode = null; foreach (ManagedCustomer account in page.entries) { if (customerIdToCustomerNode[account.customerId].ParentNode == null) { rootNode = customerIdToCustomerNode[account.customerId]; break; } } // Display account tree. Console.WriteLine("CustomerId, Name"); Console.WriteLine(rootNode.ToTreeString(0, new StringBuilder())); } else { Console.WriteLine("No serviced accounts were found."); } } catch (Exception e) { throw new System.ApplicationException("Failed to create ad groups.", e); } }
/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> public void Run(AdWordsUser user) { // Get the ManagedCustomerService. ManagedCustomerService managedCustomerService = (ManagedCustomerService) user.GetService( AdWordsService.v201601.ManagedCustomerService); // Create selector. Selector selector = new Selector(); selector.fields = new String[] { ManagedCustomer.Fields.CustomerId, ManagedCustomer.Fields.Name }; selector.paging = Paging.Default; // Map from customerId to customer node. Dictionary<long, ManagedCustomerTreeNode> customerIdToCustomerNode = new Dictionary<long, ManagedCustomerTreeNode>(); // Temporary cache to save links. List<ManagedCustomerLink> allLinks = new List<ManagedCustomerLink>(); ManagedCustomerPage page = null; try { do { page = managedCustomerService.get(selector); if (page.entries != null) { // Create account tree nodes for each customer. foreach (ManagedCustomer customer in page.entries) { ManagedCustomerTreeNode node = new ManagedCustomerTreeNode(); node.Account = customer; customerIdToCustomerNode.Add(customer.customerId, node); } if (page.links != null) { allLinks.AddRange(page.links); } } selector.paging.IncreaseOffset(); } while (selector.paging.startIndex < page.totalNumEntries); // For each link, connect nodes in tree. foreach (ManagedCustomerLink link in allLinks) { ManagedCustomerTreeNode managerNode = customerIdToCustomerNode[link.managerCustomerId]; ManagedCustomerTreeNode childNode = customerIdToCustomerNode[link.clientCustomerId]; childNode.ParentNode = managerNode; if (managerNode != null) { managerNode.ChildAccounts.Add(childNode); } } // Find the root account node in the tree. ManagedCustomerTreeNode rootNode = null; foreach (ManagedCustomerTreeNode node in customerIdToCustomerNode.Values) { if (node.ParentNode == null) { rootNode = node; break; } } // Display account tree. Console.WriteLine("CustomerId, Name"); Console.WriteLine(rootNode.ToTreeString(0, new StringBuilder())); } catch (Exception e) { throw new System.ApplicationException("Failed to create ad groups.", e); } }