/// <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);
                }
            }
        }
Пример #3
0
        /// <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);
              }
        }