get method

Future<Object> get(
  1. String fileId, {
  2. bool? acknowledgeAbuse,
  3. String? includeLabels,
  4. String? includePermissionsForView,
  5. bool? supportsAllDrives,
  6. bool? supportsTeamDrives,
  7. String? $fields,
  8. DownloadOptions downloadOptions = commons.DownloadOptions.metadata,
})

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/v3/files/export) instead. For more information, see [Download & export files](/drive/api/guides/manage-downloads).

Request parameters:

fileId - The ID of the file.

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.

supportsAllDrives - Whether the requesting application supports both My Drives and shared drives.

supportsTeamDrives - Deprecated: Use supportsAllDrives instead.

$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.bool? supportsAllDrives,
  core.bool? supportsTeamDrives,
  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 (supportsAllDrives != null)
      'supportsAllDrives': ['${supportsAllDrives}'],
    if (supportsTeamDrives != null)
      'supportsTeamDrives': ['${supportsTeamDrives}'],
    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;
  }
}