duplicate method
- DuplicateLineItemRequest request,
- String advertiserId,
- String lineItemId, {
- String? $fields,
Duplicates a line item.
Returns the ID of the created line item if successful. YouTube & Partners line items cannot be created or updated using the API. This method regularly experiences high latency. We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.
request
- The metadata request object.
Request parameters:
advertiserId
- Required. The ID of the advertiser this line item belongs
to.
Value must have pattern ^\[^/\]+$
.
lineItemId
- Required. The ID of the line item to duplicate.
Value must have pattern ^\[^/\]+$
.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a DuplicateLineItemResponse.
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<DuplicateLineItemResponse> duplicate(
DuplicateLineItemRequest request,
core.String advertiserId,
core.String lineItemId, {
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v3/advertisers/' +
core.Uri.encodeFull('$advertiserId') +
'/lineItems/' +
core.Uri.encodeFull('$lineItemId') +
':duplicate';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return DuplicateLineItemResponse.fromJson(
response_ as core.Map<core.String, core.dynamic>);
}