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>>{
    if (includePermissionsForView != null)
      'includePermissionsForView': [includePermissionsForView],
    if (maxResults != null) 'maxResults': ['${maxResults}'],
    if (pageToken != null) 'pageToken': [pageToken],
    if (supportsAllDrives != null)
      'supportsAllDrives': ['${supportsAllDrives}'],
    if (supportsTeamDrives != null)
      'supportsTeamDrives': ['${supportsTeamDrives}'],
    if (useDomainAdminAccess != null)
      'useDomainAdminAccess': ['${useDomainAdminAccess}'],
    if ($fields != null) 'fields': [$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>);
}