/// <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 CreativeService.
      CreativeService creativeService =
          (CreativeService) user.GetService(DfpService.v201403.CreativeService);

      long creativeId = long.Parse(_T("INSERT_IMAGE_CREATIVE_ID_HERE"));

      // Create a statement to get the image creative.
      StatementBuilder statementBuilder = new StatementBuilder()
          .Where("id = :id")
          .OrderBy("id ASC")
          .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
          .AddValue("id", creativeId);

      try {
        // Get the creative.
        CreativePage page = creativeService.getCreativesByStatement(statementBuilder.ToStatement());

        if (page.results != null) {
          ImageCreative imageCreative = (ImageCreative) page.results[0];
          // Since we cannot set id to null, we mark it as not specified.
          imageCreative.idSpecified = false;

          imageCreative.advertiserId = imageCreative.advertiserId;
          imageCreative.name = imageCreative.name + " (Copy #" + GetTimeStamp() + ")";

          // Create image asset.
          CreativeAsset creativeAsset = new CreativeAsset();
          creativeAsset.fileName = "image.jpg";
          creativeAsset.assetByteArray = MediaUtilities.GetAssetDataFromUrl(
              imageCreative.primaryImageAsset.assetUrl);

          creativeAsset.size = imageCreative.primaryImageAsset.size;
          imageCreative.primaryImageAsset = creativeAsset;

          // Create the copied creative.
          Creative[] creatives = creativeService.createCreatives(new Creative[] {imageCreative});

          // Display copied creatives.
          foreach (Creative copiedCreative in creatives) {
            Console.WriteLine("Image creative with ID \"{0}\", name \"{1}\", and type \"{2}\" " +
                "was created and can be previewed at {3}", copiedCreative.id, copiedCreative.name,
                 copiedCreative.CreativeType, copiedCreative.previewUrl);
          }
        } else {
          Console.WriteLine("No creatives were copied.");
        }
      } catch (Exception ex) {
        Console.WriteLine("Failed to copy creatives. 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(DfpUser user)
        {
            // Get the CreativeService.
              CreativeService creativeService =
              (CreativeService) user.GetService(DfpService.v201403.CreativeService);

              long[] creativeIds = new long[] {long.Parse(_T("INSERT_IMAGE_CREATIVE_ID_HERE"))};

              // Build a comma separated list of creativeIds. Note that if you are using
              // .NET 4.0 or above, you could use the newly introduced
              // String.Join<T>(string separator, IEnumerable<T> values) method to
              // perform this task.
              string[] creativeIdTexts = new string[creativeIds.Length];
              for (int i = 0; i < creativeIdTexts.Length; i++) {
            creativeIdTexts[i] = creativeIds[i].ToString();
              }

              string commaSeparatedCreativeIds = string.Join(",", creativeIdTexts);

              // Create the statement to filter image creatives by id.
              Statement statement = new StatementBuilder(
              string.Format("WHERE id IN ({0}) and creativeType = :creativeType LIMIT 500",
              commaSeparatedCreativeIds)).AddValue("creativeType", "ImageCreative").
              ToStatement();

              try {
            // Retrieve all creatives which match.
            CreativePage page = creativeService.getCreativesByStatement(statement);

            if (page.results != null) {
              Creative[] creatives = page.results;
              long[] oldIds = new long[creatives.Length];
              for (int i = 0; i < creatives.Length; i++) {
            ImageCreative imageCreative = (ImageCreative) creatives[i];
            oldIds[i] = imageCreative.id;
            // Since we cannot set id to null, we mark it as not specified.
            imageCreative.idSpecified = false;

            imageCreative.advertiserId = imageCreative.advertiserId;
            imageCreative.name = imageCreative.name + " (Copy #" + GetTimeStamp() + ")";

            // Create image asset.
            CreativeAsset creativeAsset = new CreativeAsset();
            creativeAsset.fileName = "image.jpg";
            creativeAsset.assetByteArray = MediaUtilities.GetAssetDataFromUrl(
                imageCreative.primaryImageAsset.assetUrl);

            creativeAsset.size = imageCreative.primaryImageAsset.size;
            imageCreative.primaryImageAsset = creativeAsset;

            creatives[i] = imageCreative;
              }

              // Create the copied creative.
              creatives = creativeService.createCreatives(creatives);

              // Display copied creatives.
              for (int i = 0; i < creatives.Length; i++) {
            Console.WriteLine("Image creative with ID \"{0}\" copied to ID \"{1}\".", oldIds[i],
                creatives[i].id);
              }
            } else {
              Console.WriteLine("No creatives were copied.");
            }
              } catch (Exception ex) {
            Console.WriteLine("Failed to copy creatives. 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(DfpUser user) {
      // Get the CreativeService.
      CreativeService creativeService =
          (CreativeService) user.GetService(DfpService.v201403.CreativeService);

      // Set the ID of the advertiser (company) that all creatives will be
      // assigned to.
      long advertiserId = long.Parse(_T("INSERT_ADVERTISER_COMPANY_ID_HERE"));

      // Create an array to store local image creative objects.
      Creative[] imageCreatives = new ImageCreative[5];

      for (int i = 0; i < 5; i++) {
        // Create creative size.
        Size size = new Size();
        size.width = 300;
        size.height = 250;

        // Create an image creative.
        ImageCreative imageCreative = new ImageCreative();
        imageCreative.name = string.Format("Image creative #{0}", i);
        imageCreative.advertiserId = advertiserId;
        imageCreative.destinationUrl = "http://www.google.com";
        imageCreative.size = size;

        // Create image asset.
        CreativeAsset creativeAsset = new CreativeAsset();
        creativeAsset.fileName = "image.jpg";
        creativeAsset.assetByteArray = MediaUtilities.GetAssetDataFromUrl(
            "http://www.google.com/intl/en/adwords/select/images/samples/inline.jpg");
        creativeAsset.size = size;
        imageCreative.primaryImageAsset = creativeAsset;

        imageCreatives[i] = imageCreative;
      }

      try {
        // Create the image creatives on the server.
        imageCreatives = creativeService.createCreatives(imageCreatives);

        if (imageCreatives != null) {
          foreach (Creative creative in imageCreatives) {
            // Use "is" operator to determine what type of creative was
            // returned.
            if (creative is ImageCreative) {
              ImageCreative imageCreative = (ImageCreative) creative;
              Console.WriteLine("An image creative with ID ='{0}', name ='{1}' and size = " +
                  "({2},{3}) was created and can be previewed at: {4}", imageCreative.id,
                  imageCreative.name, imageCreative.size.width, imageCreative.size.height,
                  imageCreative.previewUrl);
            } else {
              Console.WriteLine("A creative with ID ='{0}', name='{1}' and type='{2}' was created.",
                  creative.id, creative.name, creative.CreativeType);
            }
          }
        } else {
          Console.WriteLine("No creatives created.");
        }
      } catch (Exception ex) {
        Console.WriteLine("Failed to create creatives. Exception says \"{0}\"", ex.Message);
      }
    }
예제 #4
0
    /// <summary>
    /// Create a test company for running further tests.
    /// </summary>
    /// <returns>A creative for running further tests.</returns>
    public Creative CreateCreative(DfpUser user, long advertiserId) {
      CreativeService creativeService = (CreativeService)user.GetService(
          DfpService.v201403.CreativeService);

      // Create creative size.
      Size size = new Size();
      size.width = 300;
      size.height = 250;

      // Create an image creative.
      ImageCreative imageCreative = new ImageCreative();
      imageCreative.name = string.Format("Image creative #{0}", GetTimeStamp());
      imageCreative.advertiserId = advertiserId;
      imageCreative.destinationUrl = "http://www.google.com";
      imageCreative.size = size;

      // Create image asset.
      CreativeAsset creativeAsset = new CreativeAsset();
      creativeAsset.fileName = "image.jpg";
      creativeAsset.assetByteArray = MediaUtilities.GetAssetDataFromUrl(
          "http://www.google.com/intl/en/adwords/select/images/samples/inline.jpg");
      creativeAsset.size = size;
      imageCreative.primaryImageAsset = creativeAsset;

      return creativeService.createCreatives(new Creative[] {imageCreative})[0];
    }