📄 Source: Permissions.php
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\Drive\Resource;
use Google\Service\Drive\Permission;
use Google\Service\Drive\PermissionList;
/**
* The "permissions" collection of methods.
* Typical usage is:
* <code>
* $driveService = new Google\Service\Drive(...);
* $permissions = $driveService->permissions;
* </code>
*/
class Permissions extends \Google\Service\Resource
{
/**
* Creates a permission for a file or shared drive. For more information, see
* [Share files, folders, and
* drives](https://developers.google.com/workspace/drive/api/guides/manage-
* sharing). **Warning:** Concurrent permissions operations on the same file
* aren't supported; only the last update is applied. (permissions.create)
*
* @param string $fileId The ID of the file or shared drive.
* @param Permission $postBody
* @param array $optParams Optional parameters.
*
* @opt_param string emailMessage A plain text custom message to include in the
* notification email.
* @opt_param bool enforceExpansiveAccess Deprecated: All requests use the
* expansive access rules.
* @opt_param bool enforceSingleParent Deprecated: See `moveToNewOwnersRoot` for
* details.
* @opt_param bool moveToNewOwnersRoot This parameter only takes effect if the
* item isn't in a shared drive and the request is attempting to transfer the
* ownership of the item. If set to `true`, the item is moved to the new owner's
* My Drive root folder and all prior parents removed. If set to `false`,
* parents aren't changed.
* @opt_param bool sendNotificationEmail Whether to send a notification email
* when sharing to users or groups. This defaults to `true` for users and
* groups, and is not allowed for other requests. It must not be disabled for
* ownership transfers.
* @opt_param bool supportsAllDrives Whether the requesting application supports
* both My Drives and shared drives.
* @opt_param bool supportsTeamDrives Deprecated: Use `supportsAllDrives`
* instead.
* @opt_param bool transferOwnership Whether to transfer ownership to the
* specified user and downgrade the current owner to a writer. This parameter is
* required as an acknowledgement of the side effect. For more information, see
* [Transfer file
* ownership](https://developers.google.com/workspace/drive/api/guides/transfer-
* file).
* @opt_param bool 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](https://developers.google.com/workspace/drive/api/guid
* es/manage-shareddrives#manage-administrators).
* @return Permission
* @throws \Google\Service\Exception
*/
public function create($fileId, Permission $postBody, $optParams = [])
{
$params = ['fileId' => $fileId, 'postBody' => $postBody];
$params = array_merge($params, $optParams);
return $this->call('create', [$params], Permission::class);
}
/**
* Deletes a permission. For more information, see [Share files, folders, and
* drives](https://developers.google.com/workspace/drive/api/guides/manage-
* sharing). **Warning:** Concurrent permissions operations on the same file
* aren't supported; only the last update is applied. (permissions.delete)
*
* @param string $fileId The ID of the file or shared drive.
* @param string $permissionId The ID of the permission.
* @param array $optParams Optional parameters.
*
* @opt_param bool enforceExpansiveAccess Deprecated: All requests use the
* expansive access rules.
* @opt_param bool supportsAllDrives Whether the requesting application supports
* both My Drives and shared drives.
* @opt_param bool supportsTeamDrives Deprecated: Use `supportsAllDrives`
* instead.
* @opt_param bool 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](https://developers.google.com/workspace/drive/api/guid
* es/manage-shareddrives#manage-administrators).
* @throws \Google\Service\Exception
*/
public function delete($fileId, $permissionId, $optParams = [])
{
$params = ['fileId' => $fileId, 'permissionId' => $permissionId];
$params = array_merge($params, $optParams);
return $this->call('delete', [$params]);
}
/**
* Gets a permission by ID. For more information, see [Share files, folders, and
* drives](https://developers.google.com/workspace/drive/api/guides/manage-
* sharing). (permissions.get)
*
* @param string $fileId The ID of the file.
* @param string $permissionId The ID of the permission.
* @param array $optParams Optional parameters.
*
* @opt_param bool supportsAllDrives Whether the requesting application supports
* both My Drives and shared drives.
* @opt_param bool supportsTeamDrives Deprecated: Use `supportsAllDrives`
* instead.
* @opt_param bool 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](https://developers.google.com/workspace/drive/api/guid
* es/manage-shareddrives#manage-administrators).
* @return Permission
* @throws \Google\Service\Exception
*/
public function get($fileId, $permissionId, $optParams = [])
{
$params = ['fileId' => $fileId, 'permissionId' => $permissionId];
$params = array_merge($params, $optParams);
return $this->call('get', [$params], Permission::class);
}
/**
* Lists a file's or shared drive's permissions. For more information, see
* [Share files, folders, and
* drives](https://developers.google.com/workspace/drive/api/guides/manage-
* sharing). (permissions.listPermissions)
*
* @param string $fileId The ID of the file or shared drive.
* @param array $optParams Optional parameters.
*
* @opt_param string includePermissionsForView Specifies which additional view's
* permissions to include in the response. Only `published` is supported.
* @opt_param int pageSize 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.
* @opt_param string 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.
* @opt_param bool supportsAllDrives Whether the requesting application supports
* both My Drives and shared drives.
* @opt_param bool supportsTeamDrives Deprecated: Use `supportsAllDrives`
* instead.
* @opt_param bool 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](https://developers.google.com/workspace/drive/api/guid
* es/manage-shareddrives#manage-administrators).
* @return PermissionList
* @throws \Google\Service\Exception
*/
public function listPermissions($fileId, $optParams = [])
{
$params = ['fileId' => $fileId];
$params = array_merge($params, $optParams);
return $this->call('list', [$params], PermissionList::class);
}
/**
* Updates a permission with patch semantics. For more information, see [Share
* files, folders, and
* drives](https://developers.google.com/workspace/drive/api/guides/manage-
* sharing). **Warning:** Concurrent permissions operations on the same file
* aren't supported; only the last update is applied. (permissions.update)
*
* @param string $fileId The ID of the file or shared drive.
* @param string $permissionId The ID of the permission.
* @param Permission $postBody
* @param array $optParams Optional parameters.
*
* @opt_param bool enforceExpansiveAccess Deprecated: All requests use the
* expansive access rules.
* @opt_param bool removeExpiration Whether to remove the expiration date.
* @opt_param bool supportsAllDrives Whether the requesting application supports
* both My Drives and shared drives.
* @opt_param bool supportsTeamDrives Deprecated: Use `supportsAllDrives`
* instead.
* @opt_param bool transferOwnership Whether to transfer ownership to the
* specified user and downgrade the current owner to a writer. This parameter is
* required as an acknowledgement of the side effect. For more information, see
* [Transfer file ownership](https://developers.google.com//workspace/drive/api/
* guides/transfer-file).
* @opt_param bool 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](https://developers.google.com/workspace/drive/api/guid
* es/manage-shareddrives#manage-administrators).
* @return Permission
* @throws \Google\Service\Exception
*/
public function update($fileId, $permissionId, Permission $postBody, $optParams = [])
{
$params = ['fileId' => $fileId, 'permissionId' => $permissionId, 'postBody' => $postBody];
$params = array_merge($params, $optParams);
return $this->call('update', [$params], Permission::class);
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(Permissions::class, 'Google_Service_Drive_Resource_Permissions');
← Back