list method

Future<FileList> list({
  1. String? corpora,
  2. String? corpus,
  3. String? driveId,
  4. bool? includeItemsFromAllDrives,
  5. String? includeLabels,
  6. String? includePermissionsForView,
  7. bool? includeTeamDriveItems,
  8. int? maxResults,
  9. String? orderBy,
  10. String? pageToken,
  11. String? projection,
  12. String? q,
  13. String? spaces,
  14. bool? supportsAllDrives,
  15. bool? supportsTeamDrives,
  16. String? teamDriveId,
  17. String? $fields,
})

Lists the user's files.

This method accepts the q parameter, which is a search query combining one or more search terms. For more information, see the [Search for files & folders](/drive/api/guides/search-files) guide. Note: This method returns all files by default, including trashed files. If you don't want trashed files to appear in the list, use the trashed=false query parameter to remove trashed files from the results.

Request parameters:

corpora - Bodies of items (files/documents) to which the query applies. Supported bodies are default, domain, drive and allDrives. Prefer default or drive to allDrives for efficiency.

corpus - Deprecated: The body of items (files/documents) to which the query applies. Use corpora instead. Possible string values are:

  • "DEFAULT" : The items that the user has accessed.
  • "DOMAIN" : Items shared to the user's domain.

driveId - ID of the shared drive to search.

includeItemsFromAllDrives - Whether both My Drive and shared drive items should be included in results.

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.

includeTeamDriveItems - Deprecated: Use includeItemsFromAllDrives instead.

maxResults - The maximum number of files to return per page. Partial or empty result pages are possible even before the end of the files list has been reached.

orderBy - A comma-separated list of sort keys. Valid keys are: * createdDate: When the file was created. * folder: The folder ID. This field is sorted using alphabetical ordering. * lastViewedByMeDate: The last time the file was viewed by the user. * modifiedByMeDate: The last time the file was modified by the user. * modifiedDate: The last time the file was modified by anyone. * quotaBytesUsed: The number of storage quota bytes used by the file. * recency: The most recent timestamp from the file's date-time fields. * sharedWithMeDate: When the file was shared with the user, if applicable. * starred: Whether the user has starred the file. * title: The title of the file. This field is sorted using alphabetical ordering, so 1, 12, 2, 22. * title_natural: The title of the file. This field is sorted using natural sort ordering, so 1, 2, 12, 22. Each key sorts ascending by default, but can be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedDate desc,title. Note that there's a current limitation for users with approximately one million files in which the requested sort order is ignored.

pageToken - Page token for files.

projection - Deprecated: This parameter has no function. Possible string values are:

  • "BASIC" : Deprecated.
  • "FULL" : Deprecated.

q - Query string for searching files.

spaces - A comma-separated list of spaces to query. Supported values are drive, and appDataFolder.

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

supportsTeamDrives - Deprecated: Use supportsAllDrives instead.

teamDriveId - Deprecated: Use driveId instead.

$fields - Selector specifying which fields to include in a partial response.

Completes with a FileList.

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<FileList> list({
  core.String? corpora,
  core.String? corpus,
  core.String? driveId,
  core.bool? includeItemsFromAllDrives,
  core.String? includeLabels,
  core.String? includePermissionsForView,
  core.bool? includeTeamDriveItems,
  core.int? maxResults,
  core.String? orderBy,
  core.String? pageToken,
  core.String? projection,
  core.String? q,
  core.String? spaces,
  core.bool? supportsAllDrives,
  core.bool? supportsTeamDrives,
  core.String? teamDriveId,
  core.String? $fields,
}) async {
  final queryParams_ = <core.String, core.List<core.String>>{
    if (corpora != null) 'corpora': [corpora],
    if (corpus != null) 'corpus': [corpus],
    if (driveId != null) 'driveId': [driveId],
    if (includeItemsFromAllDrives != null)
      'includeItemsFromAllDrives': ['${includeItemsFromAllDrives}'],
    if (includeLabels != null) 'includeLabels': [includeLabels],
    if (includePermissionsForView != null)
      'includePermissionsForView': [includePermissionsForView],
    if (includeTeamDriveItems != null)
      'includeTeamDriveItems': ['${includeTeamDriveItems}'],
    if (maxResults != null) 'maxResults': ['${maxResults}'],
    if (orderBy != null) 'orderBy': [orderBy],
    if (pageToken != null) 'pageToken': [pageToken],
    if (projection != null) 'projection': [projection],
    if (q != null) 'q': [q],
    if (spaces != null) 'spaces': [spaces],
    if (supportsAllDrives != null)
      'supportsAllDrives': ['${supportsAllDrives}'],
    if (supportsTeamDrives != null)
      'supportsTeamDrives': ['${supportsTeamDrives}'],
    if (teamDriveId != null) 'teamDriveId': [teamDriveId],
    if ($fields != null) 'fields': [$fields],
  };

  const url_ = 'files';

  final response_ = await _requester.request(
    url_,
    'GET',
    queryParams: queryParams_,
  );
  return FileList.fromJson(response_ as core.Map<core.String, core.dynamic>);
}