batch
Batch updates permissions for a file or shared drive using a CSV file as input.
Synopsis
Implements the API documented at https://developers.google.com/drive/api/v3/reference/permissions/update
gsm permissions update batch [flags]
Options
--allowFileDiscovery int Whether the permission allows the file to be discovered through search.
This is only applicable for permissions of type domain or anyone.
--allowFileDiscovery_ALL Same as allowFileDiscovery but value is applied to all lines in the CSV file
--batchThreads int Specify the number of threads that should be used for batch commands (overrides value in config file. Max 16)
--delimiter string Delimiter to use for CSV columns. Must be exactly one character. Default is ';'
--domain int The domain to which this permission refers.
--domain_ALL string Same as domain but value is applied to all lines in the CSV file
--emailAddress int The email address of the user or group to which this permission refers.
--emailMessage int A plain text custom message to include in the notification email
--emailMessage_ALL string Same as emailMessage but value is applied to all lines in the CSV file
--expirationTime int The time at which this permission will expire (RFC 3339 date-time). Expiration times have the following restrictions:
They can only be set on user and group permissions
The time must be in the future
The time cannot be more than a year in the future
--expirationTime_ALL string Same as expirationTime but value is applied to all lines in the CSV file
--fields int Fields allows partial responses to be retrieved.
See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
--fields_ALL string Same as fields but value is applied to all lines in the CSV file
--fileId int Id of the file or drive
--fileId_ALL string Same as fileId but value is applied to all lines in the CSV file
-h, --help help for batch
--moveToNewOwnersRoot int This parameter only takes effect if the item is not in a shared drive and the request is attempting to transfer the ownership of the item.
When set to true, the item is moved to the new owner's My Drive root folder and all prior parents removed.
however, the file will be added to the new owner's My Drive root folder, unless it is already in the new owner's My Drive.
--moveToNewOwnersRoot_ALL Same as moveToNewOwnersRoot but value is applied to all lines in the CSV file
--path string Path of the import file (CSV)
--permissionId int The ID of the permission.
--removeExpiration int Whether to remove the expiration date.
--removeExpiration_ALL Same as removeExpiration but value is applied to all lines in the CSV file
--role int The role granted by this permission.
While new values may be supported in the future, the following are currently allowed:
[owner|organizer|fileOrganizer|writer|commenter|reader]
--role_ALL string Same as role but value is applied to all lines in the CSV file
--skipHeader Whether to skip the first row (header)
--transferOwnership int 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.
--transferOwnership_ALL Same as transferOwnership but value is applied to all lines in the CSV file
--type int The type of the grantee.
[user|group|domain|anyone].
When creating a permission, if type is user or group, you must provide an emailAddress for the user or group.
When type is domain, you must provide a domain.
There isn't extra information required for a anyone type.
--type_ALL string Same as type but value is applied to all lines in the CSV file
--useDomainAdminAccess int 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.
--useDomainAdminAccess_ALL Same as useDomainAdminAccess but value is applied to all lines in the CSV file
Options inherited from parent commands
--compressOutput By default, GSM outputs "pretty" (indented) objects. By setting this flag, GSM's output will be compressed. This may or may not improve performance in scripts.
--config string config file (default is $HOME/.config/gsm/.gsm.yaml)
--delay int This delay (plus a random jitter between 0 and 50) will be applied after every command to avoid reaching quota and rate limits. Set to 0 to disable.
--dwdSubject string Specify a subject used for DWD impersonation (overrides value in config file)
--log string Set the path of the log file. Default is either ~/gsm.log or defined in your config file
--maxElapsedTime int This is the maximum total time that will be spent retrying a request in minutes. (default 15)
--maxRetryInterval int This is the maximum interval that will be used between retry attempts in seconds. (default 320)
--redirectPort int This is the TCP port on which GSM will create web server if you authenticate with a user account for the first time. This is necessary for the OAuth flow. See https://developers.google.com/identity/protocols/oauth2/native-app#redirect-uri_loopback (default 8081)
--retryOn ints Specify the HTTP error code(s) that GSM should retry on. Note that GSM will always retry on HTTP 403 errors that indicate a quota / rate limit error
--streamOutput Setting this flag will cause GSM to output slice values to stdout one by one, instead of one large object
SEE ALSO
- gsm permissions update - Updates a permission with patch semantics.