get method
Gets a file's metadata or content by ID.
If you provide the URL parameter alt=media
, then the response includes
the file contents in the response body. Downloading content with
alt=media
only works if the file is stored in Drive. To download Google
Docs, Sheets, and Slides use
[files.export
](/drive/api/reference/rest/v2/files/export) instead. For
more information, see [Download & export
files](/drive/api/guides/manage-downloads).
Request parameters:
fileId
- The ID for the file in question.
acknowledgeAbuse
- Whether the user is acknowledging the risk of
downloading known malware or other abusive files.
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.
projection
- Deprecated: This parameter has no function.
Possible string values are:
- "BASIC" : Deprecated.
- "FULL" : Deprecated.
revisionId
- Specifies the Revision ID that should be downloaded.
Ignored unless alt=media is specified.
supportsAllDrives
- Whether the requesting application supports both My
Drives and shared drives.
supportsTeamDrives
- Deprecated: Use supportsAllDrives
instead.
updateViewedDate
- Deprecated: Use files.update
with
modifiedDateBehavior=noChange, updateViewedDate=true
and an empty
request body.
$fields
- Selector specifying which fields to include in a partial
response.
downloadOptions
- Options for downloading. A download can be either a
Metadata (default) or Media download. Partial Media downloads are possible
as well.
Completes with a
-
File for Metadata downloads (see
downloadOptions
). -
commons.Media for Media downloads (see
downloadOptions
).
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<core.Object> get(
core.String fileId, {
core.bool? acknowledgeAbuse,
core.String? includeLabels,
core.String? includePermissionsForView,
core.String? projection,
core.String? revisionId,
core.bool? supportsAllDrives,
core.bool? supportsTeamDrives,
core.bool? updateViewedDate,
core.String? $fields,
commons.DownloadOptions downloadOptions = commons.DownloadOptions.metadata,
}) async {
final queryParams_ = <core.String, core.List<core.String>>{
if (acknowledgeAbuse != null) 'acknowledgeAbuse': ['${acknowledgeAbuse}'],
if (includeLabels != null) 'includeLabels': [includeLabels],
if (includePermissionsForView != null)
'includePermissionsForView': [includePermissionsForView],
if (projection != null) 'projection': [projection],
if (revisionId != null) 'revisionId': [revisionId],
if (supportsAllDrives != null)
'supportsAllDrives': ['${supportsAllDrives}'],
if (supportsTeamDrives != null)
'supportsTeamDrives': ['${supportsTeamDrives}'],
if (updateViewedDate != null) 'updateViewedDate': ['${updateViewedDate}'],
if ($fields != null) 'fields': [$fields],
};
final url_ = 'files/' + commons.escapeVariable('$fileId');
final response_ = await _requester.request(
url_,
'GET',
queryParams: queryParams_,
downloadOptions: downloadOptions,
);
if (downloadOptions.isMetadataDownload) {
return File.fromJson(response_ as core.Map<core.String, core.dynamic>);
} else {
return response_ as commons.Media;
}
}