Exemplo n.º 1
0
        public bool GetAccountHasChanged(DateTime From, DateTime To, string AccountId = null)
        {
            // save the current selected account (probably the mcc root)
            var originalAccountId = this.GetActiveAccount();

            // change active account
            this.SetActiveAccount(AccountId);

            try
            {
                var service = (CustomerSyncService)this.user.GetService(AdWordsService.v201708.CustomerSyncService);

                // get all campaigns
                var campaignIds = this.GetALLCampaigns();
                if (campaignIds == null || campaignIds.Count == 0)
                {
                    return(false);
                }

                var selector = new CustomerSyncSelector
                {
                    campaignIds   = campaignIds.ToArray(),
                    dateTimeRange = new DateTimeRange
                    {
                        min = DateTimeParse(From),
                        max = DateTimeParse(To),
                    },
                };

                var changesDataValue = service.get(selector);
                if (changesDataValue == null || changesDataValue.changedCampaigns == null || changesDataValue.changedCampaigns.Length == 0)
                {
                    return(false);
                }
                return(true);
            }
            finally
            {
                // change-back to the original account
                this.SetActiveAccount(originalAccountId);
            }
        }
        /// <summary>
        /// Runs the code example.
        /// </summary>
        /// <param name="user">The AdWords user.</param>
        public void Run(AdWordsUser user)
        {
            // Get the CustomerSyncService.
            CustomerSyncService customerSyncService =
                (CustomerSyncService)user.GetService(AdWordsService.v201502.
                                                     CustomerSyncService);

            // The date time string should be of the form  yyyyMMdd HHmmss zzz
            string minDateTime = DateTime.Now.AddDays(-1).ToUniversalTime().ToString(
                "yyyyMMdd HHmmss") + " UTC";
            string maxDateTime = DateTime.Now.ToUniversalTime().ToString("yyyyMMdd HHmmss") +
                                 " UTC";

            // Create date time range.
            DateTimeRange dateTimeRange = new DateTimeRange();

            dateTimeRange.min = minDateTime;
            dateTimeRange.max = maxDateTime;

            try {
                // Create the selector.
                CustomerSyncSelector selector = new CustomerSyncSelector();
                selector.dateTimeRange = dateTimeRange;
                selector.campaignIds   = GetAllCampaignIds(user);

                // Get all account changes for campaign.
                CustomerChangeData accountChanges = customerSyncService.get(selector);

                // Display the changes.
                if (accountChanges != null && accountChanges.changedCampaigns != null)
                {
                    Console.WriteLine("Displaying changes up to: {0}", accountChanges.lastChangeTimestamp);
                    foreach (CampaignChangeData campaignChanges in accountChanges.changedCampaigns)
                    {
                        Console.WriteLine("Campaign with id \"{0}\" was changed:", campaignChanges.campaignId);
                        Console.WriteLine("  Campaign changed status: {0}",
                                          campaignChanges.campaignChangeStatus);
                        if (campaignChanges.campaignChangeStatus != ChangeStatus.NEW)
                        {
                            Console.WriteLine("  Added ad extensions: {0}", GetFormattedList(
                                                  campaignChanges.addedAdExtensions));
                            Console.WriteLine("  Added campaign criteria: {0}",
                                              GetFormattedList(campaignChanges.addedCampaignCriteria));
                            Console.WriteLine("  Removed ad extensions: {0}",
                                              GetFormattedList(campaignChanges.removedAdExtensions));
                            Console.WriteLine("  Removed campaign criteria: {0}",
                                              GetFormattedList(campaignChanges.removedAdExtensions));

                            if (campaignChanges.changedAdGroups != null)
                            {
                                foreach (AdGroupChangeData adGroupChanges in campaignChanges.changedAdGroups)
                                {
                                    Console.WriteLine("  Ad group with id \"{0}\" was changed:",
                                                      adGroupChanges.adGroupId);
                                    Console.WriteLine("    Ad group changed status: {0}",
                                                      adGroupChanges.adGroupChangeStatus);
                                    if (adGroupChanges.adGroupChangeStatus != ChangeStatus.NEW)
                                    {
                                        Console.WriteLine("    Ads changed: {0}",
                                                          GetFormattedList(adGroupChanges.changedAds));
                                        Console.WriteLine("    Criteria changed: {0}",
                                                          GetFormattedList(adGroupChanges.changedCriteria));
                                        Console.WriteLine("    Criteria removed: {0}",
                                                          GetFormattedList(adGroupChanges.removedCriteria));
                                    }
                                }
                            }
                        }
                        Console.WriteLine();
                    }
                }
                else
                {
                    Console.WriteLine("No account changes were found.");
                }
            } catch (Exception e) {
                throw new System.ApplicationException("Failed to get account changes.", e);
            }
        }
        /// <summary>
        /// Runs the code example.
        /// </summary>
        /// <param name="user">The AdWords user.</param>
        public void Run(AdWordsUser user)
        {
            // Get the CustomerSyncService.
              CustomerSyncService customerSyncService =
              (CustomerSyncService) user.GetService(AdWordsService.v201601.
              CustomerSyncService);

              // The date time string should be of the form  yyyyMMdd HHmmss zzz
              string minDateTime = DateTime.Now.AddDays(-1).ToUniversalTime().ToString(
              "yyyyMMdd HHmmss") + " UTC";
              string maxDateTime = DateTime.Now.ToUniversalTime().ToString("yyyyMMdd HHmmss") +
              " UTC";

              // Create date time range.
              DateTimeRange dateTimeRange = new DateTimeRange();
              dateTimeRange.min = minDateTime;
              dateTimeRange.max = maxDateTime;

              try {
            // Create the selector.
            CustomerSyncSelector selector = new CustomerSyncSelector();
            selector.dateTimeRange = dateTimeRange;
            selector.campaignIds = GetAllCampaignIds(user);

            // Get all account changes for campaign.
            CustomerChangeData accountChanges = customerSyncService.get(selector);

            // Display the changes.
            if (accountChanges != null && accountChanges.changedCampaigns != null) {
              Console.WriteLine("Displaying changes up to: {0}", accountChanges.lastChangeTimestamp);
              foreach (CampaignChangeData campaignChanges in accountChanges.changedCampaigns) {
            Console.WriteLine("Campaign with id \"{0}\" was changed:", campaignChanges.campaignId);
            Console.WriteLine("  Campaign changed status: {0}",
                campaignChanges.campaignChangeStatus);
            if (campaignChanges.campaignChangeStatus != ChangeStatus.NEW) {
              Console.WriteLine("  Added ad extensions: {0}", GetFormattedList(
                  campaignChanges.addedAdExtensions));
              Console.WriteLine("  Added campaign criteria: {0}",
                  GetFormattedList(campaignChanges.addedCampaignCriteria));
              Console.WriteLine("  Removed ad extensions: {0}",
                  GetFormattedList(campaignChanges.removedAdExtensions));
              Console.WriteLine("  Removed campaign criteria: {0}",
                  GetFormattedList(campaignChanges.removedAdExtensions));

              if (campaignChanges.changedAdGroups != null) {
                foreach (AdGroupChangeData adGroupChanges in campaignChanges.changedAdGroups) {
                  Console.WriteLine("  Ad group with id \"{0}\" was changed:",
                      adGroupChanges.adGroupId);
                  Console.WriteLine("    Ad group changed status: {0}",
                      adGroupChanges.adGroupChangeStatus);
                  if (adGroupChanges.adGroupChangeStatus != ChangeStatus.NEW) {
                    Console.WriteLine("    Ads changed: {0}",
                        GetFormattedList(adGroupChanges.changedAds));
                    Console.WriteLine("    Criteria changed: {0}",
                        GetFormattedList(adGroupChanges.changedCriteria));
                    Console.WriteLine("    Criteria removed: {0}",
                        GetFormattedList(adGroupChanges.removedCriteria));
                  }
                }
              }
            }
            Console.WriteLine();
              }
            } else {
              Console.WriteLine("No account changes were found.");
            }
              } catch (Exception e) {
            throw new System.ApplicationException("Failed to get account changes.", e);
              }
        }
Exemplo n.º 4
0
        private void GetAccountHistory_Click(object sender, EventArgs e)
        {
            Dictionary <string, string> headers = new Dictionary <string, string>()
            {
                { "DeveloperToken", this.DeveloperToken.Text },
                { "UserAgent", String.Format("Edge File Manager (version {0})", System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()) },
                { "EnableGzipCompression", this.EnableGzipCompression.Text },
                { "ClientCustomerId", this.ClientCustomerId.Text },
                { "Email", this.Email.Text }
            };


            User = new AdWordsUser(headers);
            try
            {
                //Getting AuthToken
                (User.Config as AdWordsAppConfig).AuthToken = AdwordsUtill.GetAuthToken(User);

                // Get the CustomerSyncService.
                CustomerSyncService customerSyncService =
                    (CustomerSyncService)User.GetService(AdWordsService.v201302.CustomerSyncService);

                // The date time string should be of the form  yyyyMMdd HHmmss zzz
                string minDateTime = DateTime.Now.AddDays(-1).ToUniversalTime().ToString("yyyyMMdd HHmmss")
                                     + " UTC";
                string maxDateTime = DateTime.Now.ToUniversalTime().ToString("yyyyMMdd HHmmss") + " UTC";

                // Create date time range.
                DateTimeRange dateTimeRange = new DateTimeRange();
                dateTimeRange.min = minDateTime;
                dateTimeRange.max = maxDateTime;

                // Create the selector.
                CustomerSyncSelector selector = new CustomerSyncSelector();
                selector.dateTimeRange = dateTimeRange;
                selector.campaignIds   = GetAllCampaignIds(User);

                // Get all account changes for campaign.
                CustomerChangeData accountChanges = customerSyncService.get(selector);

                // Display the changes.
                if (accountChanges != null && accountChanges.changedCampaigns != null)
                {
                    Console.WriteLine("Displaying changes up to: {0}", accountChanges.lastChangeTimestamp);
                    foreach (CampaignChangeData campaignChanges in accountChanges.changedCampaigns)
                    {
                        Console.WriteLine("Campaign with id \"{0}\" was changed:", campaignChanges.campaignId);
                        Console.WriteLine("  Campaign changed status: {0}",
                                          campaignChanges.campaignChangeStatus);
                        if (campaignChanges.campaignChangeStatus != ChangeStatus.NEW)
                        {
                            Console.WriteLine("  Added ad extensions: {0}", GetFormattedList(
                                                  campaignChanges.addedAdExtensions));
                            Console.WriteLine("  Added campaign criteria: {0}",
                                              GetFormattedList(campaignChanges.addedCampaignCriteria));
                            Console.WriteLine("  Added campaign targeting: {0}",
                                              campaignChanges.campaignTargetingChanged ? "yes" : "no");
                            Console.WriteLine("  Deleted ad extensions: {0}",
                                              GetFormattedList(campaignChanges.deletedAdExtensions));
                            Console.WriteLine("  Deleted campaign criteria: {0}",
                                              GetFormattedList(campaignChanges.deletedCampaignCriteria));

                            if (campaignChanges.changedAdGroups != null)
                            {
                                foreach (AdGroupChangeData adGroupChanges in campaignChanges.changedAdGroups)
                                {
                                    Console.WriteLine("  Ad group with id \"{0}\" was changed:",
                                                      adGroupChanges.adGroupId);
                                    Console.WriteLine("    Ad group changed status: {0}",
                                                      adGroupChanges.adGroupChangeStatus);
                                    if (adGroupChanges.adGroupChangeStatus != ChangeStatus.NEW)
                                    {
                                        Console.WriteLine("    Ads changed: {0}",
                                                          GetFormattedList(adGroupChanges.changedAds));
                                        Console.WriteLine("    Criteria changed: {0}",
                                                          GetFormattedList(adGroupChanges.changedCriteria));
                                        Console.WriteLine("    Criteria deleted: {0}",
                                                          GetFormattedList(adGroupChanges.deletedCriteria));
                                    }
                                }
                            }
                        }
                        Console.WriteLine();
                    }
                }
                else
                {
                    Console.WriteLine("No account changes were found.");;
                }
            }
            catch (Exception ex)
            {
                throw new System.ApplicationException("Failed to get account changes.", ex);
            }
        }