copy method
- File request,
- String fileId, {
- bool? convert,
- bool? enforceSingleParent,
- String? includeLabels,
- String? includePermissionsForView,
- bool? ocr,
- String? ocrLanguage,
- bool? pinned,
- bool? supportsAllDrives,
- bool? supportsTeamDrives,
- String? timedTextLanguage,
- String? timedTextTrackName,
- String? visibility,
- String? $fields,
Creates a copy of the specified file.
request
- The metadata request object.
Request parameters:
fileId
- The ID of the file to copy.
convert
- Whether to convert this file to the corresponding Docs Editors
format.
enforceSingleParent
- Deprecated: Copying files into multiple folders is
no longer supported. Use shortcuts instead.
includeLabels
- A comma-separated list of IDs of labels to include in
the labelInfo
part of the response.
includePermissionsForView
- Specifies which additional view's
permissions to include in the response. Only published
is supported.
ocr
- Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.
ocrLanguage
- If ocr
is true, hints at the language to use. Valid
values are BCP 47 codes.
pinned
- Whether to pin the head revision of the new copy. A file can
have a maximum of 200 pinned revisions.
supportsAllDrives
- Whether the requesting application supports both My
Drives and shared drives.
supportsTeamDrives
- Deprecated: Use supportsAllDrives
instead.
timedTextLanguage
- The language of the timed text.
timedTextTrackName
- The timed text track name.
visibility
- The visibility of the new file. This parameter is only
relevant when the source is not a native Google Doc and convert=false.
Possible string values are:
- "DEFAULT" : The visibility of the new file is determined by the user's default visibility/sharing policies.
- "PRIVATE" : The new file will be visible to only the owner.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a File.
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<File> copy(
File request,
core.String fileId, {
core.bool? convert,
core.bool? enforceSingleParent,
core.String? includeLabels,
core.String? includePermissionsForView,
core.bool? ocr,
core.String? ocrLanguage,
core.bool? pinned,
core.bool? supportsAllDrives,
core.bool? supportsTeamDrives,
core.String? timedTextLanguage,
core.String? timedTextTrackName,
core.String? visibility,
core.String? $fields,
}) async {
final body_ = convert_1.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if (convert != null) 'convert': ['${convert}'],
if (enforceSingleParent != null)
'enforceSingleParent': ['${enforceSingleParent}'],
if (includeLabels != null) 'includeLabels': [includeLabels],
if (includePermissionsForView != null)
'includePermissionsForView': [includePermissionsForView],
if (ocr != null) 'ocr': ['${ocr}'],
if (ocrLanguage != null) 'ocrLanguage': [ocrLanguage],
if (pinned != null) 'pinned': ['${pinned}'],
if (supportsAllDrives != null)
'supportsAllDrives': ['${supportsAllDrives}'],
if (supportsTeamDrives != null)
'supportsTeamDrives': ['${supportsTeamDrives}'],
if (timedTextLanguage != null) 'timedTextLanguage': [timedTextLanguage],
if (timedTextTrackName != null)
'timedTextTrackName': [timedTextTrackName],
if (visibility != null) 'visibility': [visibility],
if ($fields != null) 'fields': [$fields],
};
final url_ = 'files/' + commons.escapeVariable('$fileId') + '/copy';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return File.fromJson(response_ as core.Map<core.String, core.dynamic>);
}