list method

Future<PermissionList> list(
  1. String fileId, {
  2. String? includePermissionsForView,
  3. int? maxResults,
  4. String? pageToken,
  5. bool? supportsAllDrives,
  6. bool? supportsTeamDrives,
  7. bool? useDomainAdminAccess,
  8. String? $fields,
})

Lists a file's or shared drive's permissions.

Request parameters:

fileId - The ID for the file or shared drive.

includePermissionsForView - Specifies which additional view's permissions to include in the response. Only published is supported.

maxResults - The maximum number of permissions to return per page. When not set for files in a shared drive, at most 100 results will be returned. When not set for files that are not in a shared drive, the entire list will be returned. Value must be between "1" and "100".

pageToken - The token for continuing a previous list request on the next page. This should be set to the value of nextPageToken from the previous response.

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

supportsTeamDrives - Deprecated: Use supportsAllDrives instead.

useDomainAdminAccess - Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs.

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

Completes with a PermissionList.

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<PermissionList> list(
  core.String fileId, {
  core.String? includePermissionsForView,
  core.int? maxResults,
  core.String? pageToken,
  core.bool? supportsAllDrives,
  core.bool? supportsTeamDrives,
  core.bool? useDomainAdminAccess,
  core.String? $fields,
}) async {
  final queryParams_ = <core.String, core.List<core.String>>{
    'includePermissionsForView': ?includePermissionsForView == null
        ? null
        : [includePermissionsForView],
    'maxResults': ?maxResults == null ? null : ['${maxResults}'],
    'pageToken': ?pageToken == null ? null : [pageToken],
    'supportsAllDrives': ?supportsAllDrives == null
        ? null
        : ['${supportsAllDrives}'],
    'supportsTeamDrives': ?supportsTeamDrives == null
        ? null
        : ['${supportsTeamDrives}'],
    'useDomainAdminAccess': ?useDomainAdminAccess == null
        ? null
        : ['${useDomainAdminAccess}'],
    'fields': ?$fields == null ? null : [$fields],
  };

  final url_ = 'files/' + commons.escapeVariable('$fileId') + '/permissions';

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