mirror of
https://github.com/GAM-team/GAM.git
synced 2025-07-07 05:03:34 +00:00
138 lines
7.1 KiB
Markdown
138 lines
7.1 KiB
Markdown
# Users - Drive - Ownership
|
|
- [API documentation](#api-documentation)
|
|
- [Query documentation](Users-Drive-Query)
|
|
- [Definitions](#definitions)
|
|
- [Transfer ownership of files that a source user owns to a target user](#transfer-ownership-of-files-that-a-source-user-owns-to-a-target-user)
|
|
- [Claim ownership of files that other users own](#claim-ownership-of-files-that-other-users-own)
|
|
|
|
## API documentation
|
|
* https://developers.google.com/drive/api/v3/reference/files
|
|
|
|
## Definitions
|
|
* [`<DriveFileEntity>`](Drive-File-Selection)
|
|
* [`<UserTypeEntity>`](Collections-of-Users)
|
|
|
|
```
|
|
<DomainName> ::= <String>(.<String>)+
|
|
<EmailAddress> ::= <String>@<DomainName>
|
|
<UniqueID> ::= id:<String>
|
|
<UserItem> ::= <EmailAddress>|<UniqueID>|<String>
|
|
|
|
<DriveFolderID> ::= <String>
|
|
<DriveFolderName> ::= <String>
|
|
<DriveFolderNameList> ::= "<DriveFolderName>(,<DriveFolderName>)*"
|
|
<DriveFolderPath> ::= <String>(/<String>)*
|
|
<SharedDriveID> ::= <String>
|
|
<SharedDriveName> ::= <String>
|
|
|
|
<DriveFileParentAttribute> ::=
|
|
(parentid <DriveFolderID>)|
|
|
(parentname <DriveFolderName>)|
|
|
(anyownerparentname <DriveFolderName>)|
|
|
(teamdriveparentid <DriveFolderID>)|
|
|
(teamdriveparent <SharedDriveName>)|
|
|
(teamdriveparentid <SharedDriveID> teamdriveparentname <DriveFolderName>)|
|
|
(teamdriveparent <SharedDriveName> teamdriveparentname <DriveFolderName>))|
|
|
(teamdriveparentid <DriveFolderID>)|(teamdriveparent <SharedDriveName>)|
|
|
(teamdriveparentid <SharedDriveID> teamdriveparentname <DriveFolderName>)|
|
|
(teamdriveparent <SharedDriveName> teamdriveparentname <DriveFolderName>)
|
|
|
|
<DriveOrderByFieldName> ::=
|
|
createddate|createdtime|
|
|
folder|
|
|
modifiedbyme|modifiedbymedate|modifiedbymetime|modifiedbyuser|
|
|
modifieddate|modifiedtime|
|
|
name|
|
|
name_natural|
|
|
quotabytesused|quotaused|
|
|
recency|
|
|
sharedwithmedate|sharedwithmetime|
|
|
starred|
|
|
title|
|
|
title_natural|
|
|
viewedbymedate|viewedbymetime
|
|
```
|
|
## Transfer ownership of files that a source user owns to a target user
|
|
This is typically used when a user owns a file/folder within a folder owned by another user
|
|
and ownership is to be transferred to the owner of the containing folder.
|
|
|
|
Use [Users - Drive - Transfer](Users-Drive-Transfer) for more complex ownership transfers.
|
|
```
|
|
gam <UserTypeEntity> transfer ownership <DriveFileEntity> <UserItem>
|
|
[<DriveFileParentAttribute>] [includetrashed] [norecursion [<Boolean>]]
|
|
(orderby <DriveOrderByFieldName> [ascending|descending])*
|
|
[preview] [filepath] [pathdelimiter <Character>] [buildtree] [todrive <ToDriveAttribute>*]
|
|
```
|
|
By default, there is no change of parents for the transferred files/folders, they remain in their current location.
|
|
* `<DriveFileParentAttribute>` - Specify a parent folder in the My Drive of the target user `<UserItem>`.
|
|
|
|
By default, files in the trash are not transferred.
|
|
* `includetrashed` - Ownership of files in the trash will be transferred.
|
|
|
|
By default, ownership transfer of a folder includes all of its sub files and folders.
|
|
* `norecursion` or `norecursion true` - No sub files and folders of the selected folder have their ownership transferred.
|
|
|
|
Specify order of file processing.
|
|
* `(orderby <DriveOrderByFieldName> [ascending|descending])*`
|
|
|
|
Preview the transfer.
|
|
|
|
Typically, the filepath option is used with the preview option so you can verify what files are going to be transferred.
|
|
If buildtree is specified, you will see the full path to each file. If buildtree is not specified, you will see the
|
|
relative file path starting from the top level folder being transferred.
|
|
* `preview` - Output a CSV file showing what files will have their ownership transferred.
|
|
* `filepath` - Show full path to files in CSV file.
|
|
* `pathdelimiter <Character>` - By default, file path components are separated by `/`; use `<Character>` as the separator instead.
|
|
* `buildtree` - Download all user files so that full filepath information is available.
|
|
|
|
## Claim ownership of files that other users own
|
|
This is typically used in a classroom setting where a teacher has shared a folder to students;
|
|
the students create files in the folder and the teacher claims ownership of the files at some
|
|
point to control the students further access to the files.
|
|
```
|
|
gam <UserTypeEntity> claim ownership <DriveFileEntity>
|
|
[<DriveFileParentAttribute>] [includetrashed]
|
|
[skipids <DriveFileEntity>] [skipusers <UserTypeEntity>] [subdomains <DomainNameEntity>]
|
|
[restricted [<Boolean>]] [writerscanshare|writerscantshare [<Boolean>]]
|
|
[keepuser | (retainrole reader|commenter|writer|editor|none)] [noretentionmessages]
|
|
(orderby <DriveOrderByFieldName> [ascending|descending])*
|
|
[preview] [filepath] [pathdelimiter <Character>] [buildtree] [todrive <ToDriveAttribute>*]
|
|
```
|
|
By default, there is no change of parents for the claimed files/folders, they remain in their current location.
|
|
* `<DriveFileParentAttribute>` - Specify a parent folder in the My Drive of the claiming user `<UserTypeEntity>`.
|
|
|
|
By default, files in the trash are not transferred.
|
|
* `includetrashed` - Ownership of files in the trash will be transferred.
|
|
|
|
Specify order of file processing.
|
|
* `(orderby <DriveOrderByFieldName> [ascending|descending])*`
|
|
|
|
These options handle special cases where you want to prevent ownership from being transferred for selected files.
|
|
* `skipids <DriveFileEntity>` - Do not transfer ownership for files with the specified IDs.
|
|
* `skipusers <UserTypeEntity>` - Do not transfer ownership for files owned by the specified users.
|
|
|
|
By default, only files owned by users in the same domain as the claiming user have their ownership transferred.
|
|
* `subdomains <DomainNameEntity>` - Transfer ownership for files in the selected sub-domains.
|
|
|
|
These options handle special cases where you want to restrict access to the claimed files.
|
|
* `restricted [<Boolean>]` - Prevent viewers and commenters from downloading, printing, and copying the files.
|
|
* `writerscanshare [<Boolean>]` - Allow writers to share the document with other users.
|
|
* `writerscantshare [<Boolean>]` - Prevent writers from sharing the document with other users.
|
|
|
|
Specify role for original owner.
|
|
* `keepuser` - Original owner retains the role of writer; this is the default
|
|
* `retainrole reader|commenter|writer|editor` - Original owner retains the specified role
|
|
* `retainrole none` - Orginal owner retains no role
|
|
|
|
* `noretentionmessages` - Suppress the owner role retention messages.
|
|
|
|
Preview the transfer.
|
|
|
|
Typically, the filepath option is used with the preview option so you can verify what files are going to be transferred.
|
|
If buildtree is specified, you will see the full path to each file. If buildtree is not specified, you will see the
|
|
relative file path starting from the top level folder being transferred.
|
|
* `preview` - Output a CSV file showing what files will have their ownership transferred.
|
|
* `filepath` - Show full path to files in CSV file.
|
|
* `pathdelimiter <Character>` - By default, file path components are separated by `/`; use `<Character>` as the separator instead.
|
|
* `buildtree` - Download all user files so that full filepath information is available.
|