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. This is only applicable
when the alt
parameter is set to media
and the user is the owner of
the file or an organizer of the shared drive in which the file resides.
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;
}
}