示例#1
0
        /// <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.v201403.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);
            }
        }
示例#2
0
        /// <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.v201311.CustomFieldService);

            // Sets defaults for page and filter.
            CustomFieldPage page            = new CustomFieldPage();
            Statement       filterStatement = new Statement();
            int             offset          = 0;

            try {
                do
                {
                    // Create a statement to get all custom fields.
                    filterStatement.query = "LIMIT 500 OFFSET " + offset;

                    // Get custom fields by statement.
                    page = customFieldService.getCustomFieldsByStatement(filterStatement);

                    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++;
                        }
                    }

                    offset += 500;
                } while (page.results != null && page.results.Length == 500);

                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>
        public void Run(DfpUser user)
        {
            using (CustomFieldService customFieldService =
                       (CustomFieldService)user.GetService(DfpService.v201802.CustomFieldService))
            {
                // Set the ID of the custom field to update.
                long customFieldId = long.Parse(_T("INSERT_CUSTOM_FIELD_ID_HERE"));

                try
                {
                    // Get the custom field.
                    StatementBuilder statementBuilder = new StatementBuilder()
                                                        .Where("id = :id")
                                                        .OrderBy("id ASC")
                                                        .Limit(1)
                                                        .AddValue("id", customFieldId);

                    CustomFieldPage page =
                        customFieldService.getCustomFieldsByStatement(
                            statementBuilder.ToStatement());
                    CustomField customField = page.results[0];

                    customField.description = (customField.description == null
                        ? ""
                        : customField.description + " Updated");

                    // Update the custom field on the server.
                    CustomField[] customFields = customFieldService.updateCustomFields(
                        new CustomField[]
                    {
                        customField
                    });

                    // Display results
                    foreach (CustomField updatedCustomField in customFields)
                    {
                        Console.WriteLine(
                            "Custom field with ID \"{0}\", name \"{1}\", and description " +
                            "\"{2}\" was updated.", updatedCustomField.id, updatedCustomField.name,
                            updatedCustomField.description);
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("Failed to update custom fields. Exception says \"{0}\"",
                                      e.Message);
                }
            }
        }
示例#4
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        /// <param name="user">The DFP user object running the code example.</param>
        public void Run(DfpUser dfpUser)
        {
            CustomFieldService customFieldService =
                (CustomFieldService)dfpUser.GetService(DfpService.v201608.CustomFieldService);

            // Create a statement to select custom fields.
            int pageSize = StatementBuilder.SUGGESTED_PAGE_LIMIT;
            StatementBuilder statementBuilder = new StatementBuilder()
                                                .Where("entityType = :entityType")
                                                .OrderBy("id ASC")
                                                .Limit(pageSize)
                                                .AddValue("entityType", CustomFieldEntityType.LINE_ITEM.ToString());

            // Retrieve a small amount of custom fields at a time, paging through until all
            // custom fields have been retrieved.
            int totalResultSetSize = 0;

            do
            {
                CustomFieldPage page = customFieldService.getCustomFieldsByStatement(
                    statementBuilder.ToStatement());

                // Print out some information for each custom field.
                if (page.results != null)
                {
                    totalResultSetSize = page.totalResultSetSize;
                    int i = page.startIndex;
                    foreach (CustomField customField in page.results)
                    {
                        Console.WriteLine(
                            "{0}) Custom field with ID {1} and name \"{2}\" was found.",
                            i++,
                            customField.id,
                            customField.name
                            );
                    }
                }

                statementBuilder.IncreaseOffsetBy(pageSize);
            } while (statementBuilder.GetOffset() < totalResultSetSize);

            Console.WriteLine("Number of results found: {0}", totalResultSetSize);
        }
        /// <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.v201311.CustomFieldService);

            // Create statement to select only custom fields that apply to line items.
            String    statementText   = "WHERE entityType = :entityType LIMIT 500";
            Statement filterStatement = new StatementBuilder(statementText)
                                        .AddValue("entityType", CustomFieldEntityType.LINE_ITEM.ToString())
                                        .ToStatement();

            // Set defaults for page and offset.
            CustomFieldPage page   = new CustomFieldPage();
            int             offset = 0;
            int             i      = 0;

            try {
                do
                {
                    // Create a statement to page through custom fields.
                    filterStatement.query = statementText + " OFFSET " + offset;

                    // Get custom fields by statement.
                    page = customFieldService.getCustomFieldsByStatement(filterStatement);

                    if (page.results != null)
                    {
                        foreach (CustomField customField in page.results)
                        {
                            Console.WriteLine("{0}) Custom field with ID \"{1}\" and name \"{2}\" was found.", i,
                                              customField.id, customField.name);
                            i++;
                        }
                    }
                    offset += 500;
                } while (offset < page.totalResultSetSize);
                Console.WriteLine("Number of results found: {0}", page.totalResultSetSize);
            } catch (Exception ex) {
                Console.WriteLine("Failed to get all line item custom fields. Exception says \"{0}\"",
                                  ex.Message);
            }
        }
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(DfpUser user)
        {
            CustomFieldService customFieldService =
                (CustomFieldService)user.GetService(DfpService.v201605.CustomFieldService);

            // Create a statement to select custom fields.
            StatementBuilder statementBuilder = new StatementBuilder()
                                                .Where("entityType = :entityType")
                                                .OrderBy("id ASC")
                                                .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                .AddValue("entityType", CustomFieldEntityType.LINE_ITEM.ToString());

            // Retrieve a small amount of custom fields at a time, paging through
            // until all custom fields have been retrieved.
            CustomFieldPage page = new CustomFieldPage();

            try {
                do
                {
                    page = customFieldService.getCustomFieldsByStatement(statementBuilder.ToStatement());

                    if (page.results != null)
                    {
                        // Print out some information for each custom field.
                        int i = page.startIndex;
                        foreach (CustomField customField in page.results)
                        {
                            Console.WriteLine("{0}) Custom field with ID \"{1}\" and name \"{2}\" was found.",
                                              i++,
                                              customField.id,
                                              customField.name);
                        }
                    }

                    statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
                } while (statementBuilder.GetOffset() < page.totalResultSetSize);

                Console.WriteLine("Number of results found: {0}", page.totalResultSetSize);
            } catch (Exception e) {
                Console.WriteLine("Failed to get custom fields. Exception says \"{0}\"",
                                  e.Message);
            }
        }
示例#7
0
        /// <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.v201602.CustomFieldService);

            // Create statement to select only custom fields that apply to line items.
            StatementBuilder statementBuilder = new StatementBuilder()
                                                .Where("entityType = :entityType")
                                                .OrderBy("id ASC")
                                                .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                .AddValue("entityType", CustomFieldEntityType.LINE_ITEM.ToString());

            // Set default for page.
            CustomFieldPage page = new CustomFieldPage();
            int             i    = 0;

            try {
                do
                {
                    // Get custom fields by statement.
                    page = customFieldService.getCustomFieldsByStatement(statementBuilder.ToStatement());

                    if (page.results != null)
                    {
                        foreach (CustomField customField in page.results)
                        {
                            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: {0}", page.totalResultSetSize);
            } catch (Exception e) {
                Console.WriteLine("Failed to get all line item custom fields. Exception says \"{0}\"",
                                  e.Message);
            }
        }
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(DfpUser user)
        {
            using (CustomFieldService customFieldService = (CustomFieldService)user.GetService(
                       DfpService.v201705.CustomFieldService)) {
                // Set the ID of the custom field to update.
                int customFieldId = int.Parse(_T("INSERT_CUSTOM_FIELD_ID_HERE"));

                // Create statement to select only active custom fields that apply to
                // line items.
                StatementBuilder statementBuilder = new StatementBuilder()
                                                    .Where("id = :id")
                                                    .OrderBy("id ASC")
                                                    .Limit(1)
                                                    .AddValue("id", customFieldId);

                // Set default for page.
                CustomFieldPage page           = new CustomFieldPage();
                int             i              = 0;
                List <string>   customFieldIds = new List <string>();

                try {
                    do
                    {
                        // Get custom fields by statement.
                        page = customFieldService.getCustomFieldsByStatement(statementBuilder.ToStatement());

                        if (page.results != null)
                        {
                            foreach (CustomField customField in page.results)
                            {
                                Console.WriteLine("{0}) Custom field with ID \"{1}\" and name \"{2}\" will be " +
                                                  "deactivated.", i, customField.id, customField.name);
                                customFieldIds.Add(customField.id.ToString());
                                i++;
                            }
                        }
                        statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
                    } while (statementBuilder.GetOffset() < page.totalResultSetSize);

                    Console.WriteLine("Number of custom fields to be deactivated: " + customFieldIds.Count);

                    if (customFieldIds.Count > 0)
                    {
                        // Remove limit and offset from statement.
                        statementBuilder.RemoveLimitAndOffset();

                        // Create action.
                        Google.Api.Ads.Dfp.v201705.DeactivateCustomFields action =
                            new Google.Api.Ads.Dfp.v201705.DeactivateCustomFields();

                        // Perform action.
                        UpdateResult result = customFieldService.performCustomFieldAction(action,
                                                                                          statementBuilder.ToStatement());

                        // Display results.
                        if (result != null && result.numChanges > 0)
                        {
                            Console.WriteLine("Number of custom fields deactivated: " + result.numChanges);
                        }
                        else
                        {
                            Console.WriteLine("No custom fields were deactivated.");
                        }
                    }
                } catch (Exception e) {
                    Console.WriteLine("Failed to deactivate custom fields. Exception says \"{0}\"",
                                      e.Message);
                }
            }
        }
示例#9
0
        /// <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.v201311.CustomFieldService);

            // Create statement to select only active custom fields that apply to
            // line items.
            String    statementText   = "WHERE entityType = :entityType and isActive = :isActive LIMIT 500";
            Statement filterStatement = new StatementBuilder(statementText)
                                        .AddValue("entityType", CustomFieldEntityType.LINE_ITEM.ToString())
                                        .AddValue("isActive", true)
                                        .ToStatement();

            // Set defaults for page and offset.
            CustomFieldPage page           = new CustomFieldPage();
            int             offset         = 0;
            int             i              = 0;
            List <string>   customFieldIds = new List <string>();

            try {
                do
                {
                    // Create a statement to page through custom fields.
                    filterStatement.query = statementText + " OFFSET " + offset;

                    // Get custom fields by statement.
                    page = customFieldService.getCustomFieldsByStatement(filterStatement);

                    if (page.results != null)
                    {
                        foreach (CustomField customField in page.results)
                        {
                            Console.WriteLine("{0}) Custom field with ID \"{1}\" and name \"{2}\" will be " +
                                              "deactivated.", i, customField.id, customField.name);
                            customFieldIds.Add(customField.id.ToString());
                            i++;
                        }
                    }
                    offset += 500;
                } while (offset < page.totalResultSetSize);

                Console.WriteLine("Number of custom fields to be deactivated: " + customFieldIds.Count);

                if (customFieldIds.Count > 0)
                {
                    // Modify statement for action.
                    filterStatement.query = "WHERE id IN (" + string.Join(", ", customFieldIds.ToArray()) +
                                            ")";

                    // Create action.
                    DeactivateCustomFields action = new DeactivateCustomFields();

                    // Perform action.
                    UpdateResult result = customFieldService.performCustomFieldAction(
                        action, filterStatement);

                    // Display results.
                    if (result != null && result.numChanges > 0)
                    {
                        Console.WriteLine("Number of custom fields deactivated: " + result.numChanges);
                    }
                    else
                    {
                        Console.WriteLine("No custom fields were deactivated.");
                    }
                }
            } catch (Exception ex) {
                Console.WriteLine("Failed to deactivate custom fields. Exception says \"{0}\"", ex.Message);
            }
        }