list method
Lists creatives in an advertiser.
The order is defined by the order_by parameter. If a filter by
entity_status is not specified, creatives with ENTITY_STATUS_ARCHIVED
will not be included in the results.
Request parameters:
advertiserId
- Required. The ID of the advertiser to list creatives for.
Value must have pattern ^\[^/\]+$
.
filter
- Allows filtering by creative fields. Supported syntax: * Filter
expressions are made up of one or more restrictions. * Restrictions can be
combined by AND
or OR
logical operators. A sequence of restrictions
implicitly uses AND
. * A restriction has the form of {field} {operator} {value}
. * The lineItemIds
field must use the HAS (:)
operator. * The
updateTime
field must use the GREATER THAN OR EQUAL TO (>=)
or LESS THAN OR EQUAL TO (<=)
operators. * All other fields must use the EQUALS (=)
operator. * For entityStatus
, minDuration
, maxDuration
,
updateTime
, and dynamic
fields, there may be at most one restriction.
Supported Fields: * approvalStatus
* creativeId
* creativeType
*
dimensions
(input in the form of {width}x{height}
) * dynamic
*
entityStatus
* exchangeReviewStatus
(input in the form of
{exchange}-{reviewStatus}
) * lineItemIds
* maxDuration
(input in the
form of {duration}s
. Only seconds are supported) * minDuration
(input
in the form of {duration}s
. Only seconds are supported) * updateTime
(input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ
) Notes: * For
updateTime
, a creative resource's field value reflects the last time
that a creative has been updated, which includes updates made by the
system (e.g. creative review updates). Examples: * All native creatives:
creativeType="CREATIVE_TYPE_NATIVE"
* All active creatives with 300x400
or 50x100 dimensions: entityStatus="ENTITY_STATUS_ACTIVE" AND (dimensions="300x400" OR dimensions="50x100")
* All dynamic creatives
that are approved by AdX or AppNexus, with a minimum duration of 5 seconds
and 200ms: dynamic="true" AND minDuration="5.2s" AND (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED" OR exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")
* All
video creatives that are associated with line item ID 1 or 2:
creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR lineItemIds:2)
- Find creatives by multiple creative IDs:
creativeId=1 OR creativeId=2
- All creatives with an update time greater than or equal to
2020-11-04T18:54:47Z (format of ISO 8601):
updateTime>="2020-11-04T18:54:47Z"
The length of this field should be no more than 500 characters. Reference our [filterLIST
requests](/display-video/api/guides/how-tos/filters) guide for more information.
orderBy
- Field by which to sort the list. Acceptable values are: *
creativeId
(default) * createTime
* mediaDuration
* dimensions
(sorts by width first, then by height) The default sorting order is
ascending. To specify descending order for a field, a suffix "desc" should
be added to the field name. Example: createTime desc
.
pageSize
- Requested page size. Must be between 1
and 200
. If
unspecified will default to 100
. Returns error code INVALID_ARGUMENT
if an invalid value is specified.
pageToken
- A token identifying a page of results the server should
return. Typically, this is the value of next_page_token returned from the
previous call to ListCreatives
method. If not specified, the first page
of results will be returned.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a ListCreativesResponse.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client
completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<ListCreativesResponse> list(
core.String advertiserId, {
core.String? filter,
core.String? orderBy,
core.int? pageSize,
core.String? pageToken,
core.String? $fields,
}) async {
final queryParams_ = <core.String, core.List<core.String>>{
if (filter != null) 'filter': [filter],
if (orderBy != null) 'orderBy': [orderBy],
if (pageSize != null) 'pageSize': ['${pageSize}'],
if (pageToken != null) 'pageToken': [pageToken],
if ($fields != null) 'fields': [$fields],
};
final url_ =
'v2/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/creatives';
final response_ = await _requester.request(
url_,
'GET',
queryParams: queryParams_,
);
return ListCreativesResponse.fromJson(
response_ as core.Map<core.String, core.dynamic>);
}