# Ad Exchange Buyer API II . accounts . products

## Instance Methods

Close httplib2 connections.

Gets the requested product by ID.

List all products visible to the buyer (optionally filtered by the specified PQL query).

Retrieves the next page of results.

### Method Details

`close()`

    Close httplib2 connections.

`get(accountId, productId, x__xgafv=None)`

    Gets the requested product by ID.

    Args:
      accountId: string, Account ID of the buyer. (required)
      productId: string, The ID for the product to get the head revision for. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Note: this resource requires whitelisting for access. Please contact your account manager for access to Marketplace resources. A product is a segment of inventory that a seller wishes to sell. It is associated with certain terms and targeting information which helps the buyer know more about the inventory.
        "availableStartTime": "A String", # Inventory availability dates. The start time will be truncated to seconds during serving. Thus, a field specified as 3:23:34.456 (HH:mm:ss.SSS) will be truncated to 3:23:34 when serving.
        "createTime": "A String", # Creation time.
        "syndicationProduct": "A String", # The syndication product associated with the deal.
        "availableEndTime": "A String", # The proposed end time for the deal. The field will be truncated to the order of seconds during serving.
        "productRevision": "A String", # The revision number of the product (auto-assigned by Marketplace).
        "targetingCriterion": [ # Targeting that is shared between the buyer and the seller. Each targeting criterion has a specified key and for each key there is a list of inclusion value or exclusion values.
          { # Advertisers can target different attributes of an ad slot. For example, they can choose to show ads only if the user is in the U.S. Such targeting criteria can be specified as part of Shared Targeting.
            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together.
              { # A polymorphic targeting value used as part of Shared Targeting.
                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. The definition of this targeting is derived from the structure used by Ad Manager.
                  "dayParts": [ # A list of day part targeting criterion.
                    { # Daypart targeting message that specifies if the ad can be shown only during certain parts of a day/week.
                      "endTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The ending time of the day for the ad to show (minute level granularity). The end time is exclusive. This field is not available for filtering in PQL queries.
                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
                      },
                      "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The starting time of day for the ad to show (minute level granularity). The start time is inclusive. This field is not available for filtering in PQL queries.
                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
                      },
                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
                    },
                  ],
                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
                },
                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                  "creativeSizeType": "A String", # The creative size type.
                  "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                    "width": 42, # The width of the creative
                    "height": 42, # The height of the creative.
                  },
                  "allowedFormats": [ # What formats are allowed by the publisher. If this repeated field is empty then all formats are allowed. For example, if this field contains AllowedFormatType.AUDIO then the publisher only allows an audio ad (without any video).
                    "A String",
                  ],
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present). Companion sizes may be filled in only when creative_size_type = VIDEO
                    { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting.
                      "width": 42, # The width of the creative
                      "height": 42, # The height of the creative.
                    },
                  ],
                },
                "stringValue": "A String", # The string value to include/exclude.
                "longValue": "A String", # The long value to include/exclude.
              },
            ],
            "key": "A String", # The key representing the shared targeting criterion. Targeting criteria defined by Google ad servers will begin with GOOG_. Third parties may define their own keys. A list of permissible keys along with the acceptable values will be provided as part of the external documentation.
            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together.
              { # A polymorphic targeting value used as part of Shared Targeting.
                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. The definition of this targeting is derived from the structure used by Ad Manager.
                  "dayParts": [ # A list of day part targeting criterion.
                    { # Daypart targeting message that specifies if the ad can be shown only during certain parts of a day/week.
                      "endTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The ending time of the day for the ad to show (minute level granularity). The end time is exclusive. This field is not available for filtering in PQL queries.
                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
                      },
                      "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The starting time of day for the ad to show (minute level granularity). The start time is inclusive. This field is not available for filtering in PQL queries.
                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
                      },
                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
                    },
                  ],
                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
                },
                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                  "creativeSizeType": "A String", # The creative size type.
                  "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                    "width": 42, # The width of the creative
                    "height": 42, # The height of the creative.
                  },
                  "allowedFormats": [ # What formats are allowed by the publisher. If this repeated field is empty then all formats are allowed. For example, if this field contains AllowedFormatType.AUDIO then the publisher only allows an audio ad (without any video).
                    "A String",
                  ],
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present). Companion sizes may be filled in only when creative_size_type = VIDEO
                    { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting.
                      "width": 42, # The width of the creative
                      "height": 42, # The height of the creative.
                    },
                  ],
                },
                "stringValue": "A String", # The string value to include/exclude.
                "longValue": "A String", # The long value to include/exclude.
              },
            ],
          },
        ],
        "publisherProfileId": "A String", # An ID which can be used by the Publisher Profile API to get more information about the seller that created this product.
        "hasCreatorSignedOff": True or False, # If the creator has already signed off on the product, then the buyer can finalize the deal by accepting the product as is. When copying to a proposal, if any of the terms are changed, then auto_finalize is automatically set to false.
        "seller": { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # Information about the seller that created this product.
          "accountId": "A String", # The unique ID for the seller. The seller fills in this field. The seller account ID is then available to buyer in the product.
          "subAccountId": "A String", # Optional sub-account ID for the seller.
        },
        "creatorContacts": [ # Optional contact information for the creator of this product.
          { # Contains information on how a buyer or seller can be reached.
            "name": "A String", # The name of the contact.
            "email": "A String", # Email address for the contact.
          },
        ],
        "updateTime": "A String", # Time of last update.
        "terms": { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (e.g., fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in a product can become 0 or 1 deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer. If empty, all advertisers with this buyer pay this price.
                  "A String",
                ],
                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
                },
                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  },
                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
                },
              },
            ],
            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
          },
          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal. Can be set by buyer or seller.
            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
              "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
              "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
              "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            },
            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
          },
          "description": "A String", # Publisher provided description for the terms.
          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via the API at this time, but can be returned in a get or list request. # The terms for non-guaranteed fixed price deals.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in a product can become 0 or 1 deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer. If empty, all advertisers with this buyer pay this price.
                  "A String",
                ],
                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
                },
                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  },
                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
                },
              },
            ],
          },
          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the time zone used to mark the boundaries of a day. It should be an IANA TZ name, such as "America/Los_Angeles". For more information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in a product can become 0 or 1 deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer. If empty, all advertisers with this buyer pay this price.
                  "A String",
                ],
                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
                },
                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  },
                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
                },
              },
            ],
            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
          },
        },
        "productId": "A String", # The unique ID for the product.
        "webPropertyCode": "A String", # The web-property code for the seller. This needs to be copied as is when adding a new deal to a proposal.
        "displayName": "A String", # The display name for this product as set by the seller.
      }

`list(accountId, filter=None, pageToken=None, pageSize=None, x__xgafv=None)`

    List all products visible to the buyer (optionally filtered by the specified PQL query).

    Args:
      accountId: string, Account ID of the buyer. (required)
      filter: string, An optional PQL query used to query for products. See https://developers.google.com/ad-manager/docs/pqlreference for documentation about PQL and examples. Nested repeated fields, such as product.targetingCriterion.inclusions, cannot be filtered.
      pageToken: string, The page token as returned from ListProductsResponse.
      pageSize: integer, Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response message for listing products visible to the buyer.
        "products": [ # The list of matching products at their head revision number.
          { # Note: this resource requires whitelisting for access. Please contact your account manager for access to Marketplace resources. A product is a segment of inventory that a seller wishes to sell. It is associated with certain terms and targeting information which helps the buyer know more about the inventory.
            "availableStartTime": "A String", # Inventory availability dates. The start time will be truncated to seconds during serving. Thus, a field specified as 3:23:34.456 (HH:mm:ss.SSS) will be truncated to 3:23:34 when serving.
            "createTime": "A String", # Creation time.
            "syndicationProduct": "A String", # The syndication product associated with the deal.
            "availableEndTime": "A String", # The proposed end time for the deal. The field will be truncated to the order of seconds during serving.
            "productRevision": "A String", # The revision number of the product (auto-assigned by Marketplace).
            "targetingCriterion": [ # Targeting that is shared between the buyer and the seller. Each targeting criterion has a specified key and for each key there is a list of inclusion value or exclusion values.
              { # Advertisers can target different attributes of an ad slot. For example, they can choose to show ads only if the user is in the U.S. Such targeting criteria can be specified as part of Shared Targeting.
                "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together.
                  { # A polymorphic targeting value used as part of Shared Targeting.
                    "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. The definition of this targeting is derived from the structure used by Ad Manager.
                      "dayParts": [ # A list of day part targeting criterion.
                        { # Daypart targeting message that specifies if the ad can be shown only during certain parts of a day/week.
                          "endTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The ending time of the day for the ad to show (minute level granularity). The end time is exclusive. This field is not available for filtering in PQL queries.
                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
                            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
                          },
                          "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The starting time of day for the ad to show (minute level granularity). The start time is inclusive. This field is not available for filtering in PQL queries.
                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
                            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
                          },
                          "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
                        },
                      ],
                      "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
                    },
                    "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                      "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                      "creativeSizeType": "A String", # The creative size type.
                      "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                        "width": 42, # The width of the creative
                        "height": 42, # The height of the creative.
                      },
                      "allowedFormats": [ # What formats are allowed by the publisher. If this repeated field is empty then all formats are allowed. For example, if this field contains AllowedFormatType.AUDIO then the publisher only allows an audio ad (without any video).
                        "A String",
                      ],
                      "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
                      "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present). Companion sizes may be filled in only when creative_size_type = VIDEO
                        { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting.
                          "width": 42, # The width of the creative
                          "height": 42, # The height of the creative.
                        },
                      ],
                    },
                    "stringValue": "A String", # The string value to include/exclude.
                    "longValue": "A String", # The long value to include/exclude.
                  },
                ],
                "key": "A String", # The key representing the shared targeting criterion. Targeting criteria defined by Google ad servers will begin with GOOG_. Third parties may define their own keys. A list of permissible keys along with the acceptable values will be provided as part of the external documentation.
                "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together.
                  { # A polymorphic targeting value used as part of Shared Targeting.
                    "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. The definition of this targeting is derived from the structure used by Ad Manager.
                      "dayParts": [ # A list of day part targeting criterion.
                        { # Daypart targeting message that specifies if the ad can be shown only during certain parts of a day/week.
                          "endTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The ending time of the day for the ad to show (minute level granularity). The end time is exclusive. This field is not available for filtering in PQL queries.
                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
                            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
                          },
                          "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # The starting time of day for the ad to show (minute level granularity). The start time is inclusive. This field is not available for filtering in PQL queries.
                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
                            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
                          },
                          "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
                        },
                      ],
                      "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
                    },
                    "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                      "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                      "creativeSizeType": "A String", # The creative size type.
                      "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                        "width": 42, # The width of the creative
                        "height": 42, # The height of the creative.
                      },
                      "allowedFormats": [ # What formats are allowed by the publisher. If this repeated field is empty then all formats are allowed. For example, if this field contains AllowedFormatType.AUDIO then the publisher only allows an audio ad (without any video).
                        "A String",
                      ],
                      "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
                      "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present). Companion sizes may be filled in only when creative_size_type = VIDEO
                        { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting.
                          "width": 42, # The width of the creative
                          "height": 42, # The height of the creative.
                        },
                      ],
                    },
                    "stringValue": "A String", # The string value to include/exclude.
                    "longValue": "A String", # The long value to include/exclude.
                  },
                ],
              },
            ],
            "publisherProfileId": "A String", # An ID which can be used by the Publisher Profile API to get more information about the seller that created this product.
            "hasCreatorSignedOff": True or False, # If the creator has already signed off on the product, then the buyer can finalize the deal by accepting the product as is. When copying to a proposal, if any of the terms are changed, then auto_finalize is automatically set to false.
            "seller": { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # Information about the seller that created this product.
              "accountId": "A String", # The unique ID for the seller. The seller fills in this field. The seller account ID is then available to buyer in the product.
              "subAccountId": "A String", # Optional sub-account ID for the seller.
            },
            "creatorContacts": [ # Optional contact information for the creator of this product.
              { # Contains information on how a buyer or seller can be reached.
                "name": "A String", # The name of the contact.
                "email": "A String", # Email address for the contact.
              },
            ],
            "updateTime": "A String", # Time of last update.
            "terms": { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (e.g., fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
              "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
              "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
                "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in a product can become 0 or 1 deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                    "advertiserIds": [ # The list of advertisers for this price when associated with this buyer. If empty, all advertisers with this buyer pay this price.
                      "A String",
                    ],
                    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                      "accountId": "A String", # Authorized Buyers account ID of the buyer.
                    },
                    "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                      "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                        "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                        "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                        "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                      },
                      "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
                    },
                  },
                ],
                "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
              },
              "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
              "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal. Can be set by buyer or seller.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
              "description": "A String", # Publisher provided description for the terms.
              "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via the API at this time, but can be returned in a get or list request. # The terms for non-guaranteed fixed price deals.
                "fixedPrices": [ # Fixed price for the specified buyer.
                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in a product can become 0 or 1 deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                    "advertiserIds": [ # The list of advertisers for this price when associated with this buyer. If empty, all advertisers with this buyer pay this price.
                      "A String",
                    ],
                    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                      "accountId": "A String", # Authorized Buyers account ID of the buyer.
                    },
                    "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                      "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                        "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                        "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                        "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                      },
                      "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
                    },
                  },
                ],
              },
              "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the time zone used to mark the boundaries of a day. It should be an IANA TZ name, such as "America/Los_Angeles". For more information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
              "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
                "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
                "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
                "fixedPrices": [ # Fixed price for the specified buyer.
                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in a product can become 0 or 1 deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                    "advertiserIds": [ # The list of advertisers for this price when associated with this buyer. If empty, all advertisers with this buyer pay this price.
                      "A String",
                    ],
                    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                      "accountId": "A String", # Authorized Buyers account ID of the buyer.
                    },
                    "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                      "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                        "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                        "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                        "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                      },
                      "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
                    },
                  },
                ],
                "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
              },
            },
            "productId": "A String", # The unique ID for the product.
            "webPropertyCode": "A String", # The web-property code for the seller. This needs to be copied as is when adding a new deal to a proposal.
            "displayName": "A String", # The display name for this product as set by the seller.
          },
        ],
        "nextPageToken": "A String", # List pagination support.
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.