list method

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

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

For more information, see Share files, folders, and drives.

Request parameters:

fileId - The ID of the file or shared drive.

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

pageSize - The maximum number of permissions to return. The service may return fewer than this value. If unspecified, at most 100 permissions will be returned for shared drives, and the entire list of permissions for non-shared drives. The maximum value is 100; values above 100 will be coerced to 100. 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, and if the following additional conditions are met, the requester is granted access: 1. The file ID parameter refers to a shared drive. 2. The requester is an administrator of the domain to which the shared drive belongs. For more information, see Manage shared drives as domain administrators.

$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? pageSize,
  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],
    'pageSize': ?pageSize == null ? null : ['${pageSize}'],
    '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>,
  );
}