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 [filterLISTrequests](/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_ =
'v3/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>);
}