Latest updates
6.15.24
Cleaned up gam report
commands again to improve verification that valid data has been received.
Fixed bug in gam <UserTypeEntity> dedup contacts
where <PeopleResourceNameEntity>|<PeopleUserContactSelection>
was not optional as documented.
6.15.23
Added option replacefilename <RegularExpression> <String>
to gam <UserTypeEntity> copy|create|update drivefile
that allows using regular expressions to modify the copied/updated file name.
gam user user@domain.com update drivefile query "name contains '2020-2021'" replacefilename "2020-2021" "2021-2022"
gam user user@domain.com copy drivefile name Template parentid root recursive replacefilename Template NewCustomer
- See: https://github.com/taers232c/GAMADV-XTD3/wiki/Users-Drive-Files-Manage#update-files
- See: https://github.com/taers232c/GAMADV-XTD3/wiki/Users-Drive-Copy-Move#copy-files-and-folders
6.15.22
Cleaned up gam report
commands to improve verification that valid data has been received.
6.15.21
Added email audit monitor commands that were deleted in 5.34.00.
gam audit monitor create <EmailAddress> <DestEmailAddress> [begin <DateTime>] [end <DateTime>]
[incoming_headers] [outgoing_headers] [nochats] [nodrafts] [chat_headers] [draft_headers]
gam audit monitor delete <EmailAddress> <DestEmailAddress>
gam audit monitor list <EmailAddress>
To use these commands, you should do:
gam update project
gam oauth create
6.15.20
Fixed bug in gam <UserTypeEntity> print datastudiopermissions
where todrive
was not recognized.
6.15.19
Further cleanup of gam create|update alias
.
6.15.18
After discussions with Jay, the default for creating/updating aliases is to verify that
the target <UniqueID>|<EmailAddress>
exists by making extra API calls;
if you know that the target exists, you can suppress the verification with notargetverify
.
6.15.17
Added option verifytarget
to gam create|update alias <EmailAddressEntity> user|group|target <UniqueID>|<EmailAddress>
that causes Gam to verify that the target <UniqueID>|<EmailAddress>
exists.
6.15.16
Updated gam <UserTypeEntity> deprovision
and gam <UserTypeEntity> delete|update backupcodes
to give a more informative error message when a user is suspended and backup codes can't be deleted|updated.
6.15.15
Fixed bug in gam print crosactivity recentusers oneuserperrow
that caused a trap.
6.15.14
Added option setchangepasswordoncreate [<Boolean>]
to gam <UserTypeEntity> update user
that can be used
to force created (as opposed to updated) users to change their password at their next login.
6.15.13
Updated error messages in gam <UserTypeEntity> update user createifnotfound
.
6.15.12
Added option notifyonupdate [<Boolean>]
to gam <UserTypeEntity> update user
that can be used
to suppress the email notificaton when options notify <EmailAddressList> notifypassword <String>
are specified for use in the case when the user must be created but not used when the user does exist
and is simply updated.
6.15.11
Updated gam create cigroup
to handle the following error:
ERROR: 403: permissionDenied - Error(3006): This feature (Dynamic Groups) requires a premium SKU.
6.15.10
Fixed bug in gam update ou / add|move ...
that caused the following error:
ERROR: 400: invalid - Invalid field selection orgUnitPath
6.15.09
Updated option corpus
in gam print vaultcounts
to only allow mail
and groups
as
required by the API.
6.15.08
Following Jay's lead, added option condition securitygroup|nonsecuritygroup
to gam create admin
and option condition
to gam print|show admins
.
6.15.07
Updated code in gam print cros
to handle a missing data field that caused a trap.
6.15.06
Added option dateheaderconverttimezone [<Boolean>]>
to gam <UserTypeEntity> print|show messages|threads
that
converts <SMTPDateHeader>
values to the gam.cfg timezone
.
Updated option dateheaderformat iso|rfc2822|<String>
to gam <UserTypeEntity> print|show messages|threads
that allows
reformatting of any <SMTPDateHeader>
value from RFC2822 format to the the following:
iso
- Format is%Y-%m-%dT%H:%M:%S%z
rfc2822
- Format is%a, %d %b %Y %H:%M:%S %z
<String>
- Format according to: https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
6.15.05
Added option dateheaderformat <String>
to gam <UserTypeEntity> print|show messages|threads
that allows
reformatting of the message Date
header value from RFC2822 format to the format specified by <String>
.
If <String>
is iso
, then ISO 8601 format is used, otherwise see: https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
If the Date
header value can't be parsed as RFC2822, it is left unchanged.
6.15.04
Fixed bug in gam <UserTypeEntity> copy drivefile <DriveFileEntity> ... excludepermissionsfromdomains <DomainNameList>
that caused a trap.
6.15.03
Updated <CourseAttribute>
and <CourseFieldName>
to use descriptionheading
and heading
synonymously.
6.15.02
Added the following options to gam <UserTypeEntity> copy drivefile <DriveFileEntity>
that provide more flexibility in managing permissions when copying/moving folders.
- Thanks to Kevin Sanghvi for suggesting these enhancements.
copysheetprotectedrangesinheritedpermissions [<Boolean>]
copysheetprotectedrangesnoninheritedpermissions [<Boolean>]
6.15.01
Fixed bug in gam <UserTypeEntity> print|show messages ... showattachments|saveattachments
where
some attachments were not recognized.
- Thanks to Craig Millsap for spending the time with me to find the solution.
6.15.00
Updated processing of teamdrive <SharedDriveName>
in the following commands.
Previously, if there were multiple Shared Drives with the same <SharedDriveName>
, GAM silently processed
the first one which may not have been the desired action. Now, a message is issued listing the multiple <DriveFileIDs>
and
no processing is performed. Determine which Shared Drive ID is desired and reissue the command with teamdriveid <DriveFileID>
.
gam <UserTypeEntity> print filelist select teamdrive <SharedDriveName>
gam <UserTypeEntity> print|show filecounts select teamdrive <SharedDriveName>
gam <UserTypeEntity> print|show filetree select teamdrive <SharedDriveName>
gam <UserTypeEntity> update teamdrive teamdrive <SharedDriveName>
gam <UserTypeEntity> delete teamdrive teamdrive <SharedDriveName>
gam <UserTypeEntity> hide teamdrive teamdrive <SharedDriveName>
gam <UserTypeEntity> unhide teamdrive teamdrive <SharedDriveName>
gam <UserTypeEntity> info teamdrive teamdrive <SharedDriveName>
gam <UserTypeEntity> print emptydrivefolders teamdrive <SharedDriveName>
gam <UserTypeEntity> delete emptydrivefolders teamdrive <SharedDriveName>
gam <UserTypeEntity> empty drivetrash teamdrive <SharedDriveName>
Added the following commands to transfer top level ACLs from one Shared Drive to another.
gam [<UserTypeEntity>] copy teamdriveacls <SharedDriveEntity> to <SharedDriveEntity>
[adminaccess|asadmin]
[showpermissionsmessages [<Boolean>]]
[excludepermissionsfromdomains <DomainNameList>]
(mappermissionsdomain <DomainName> <DomainName>)*
gam [<UserTypeEntity>] sync teamdriveacls <SharedDriveEntity> with <SharedDriveEntity>
[adminaccess|asadmin]
[showpermissionsmessages [<Boolean>]]
[excludepermissionsfromdomains <DomainNameList>]
(mappermissionsdomain <DomainName> <DomainName>)*
Added option shownopermissionsdrives false|true|only
to gam <UserTypeEntity> print|show teamdriveacls
that
controls whether Shared Drives with no permissions are displayed.
false
- Do not display Shared Drives with no permissions; this is the defaulttrue
- Display Shared Drives with no permissions in addition to Shared Drives with permissionsonly
- Display only Shared Drives with no permissions
Added the option mappermissionsdomain <DomainName1> <DomainName2>
to gam <UserTypeEntity> copy|move drivefile <DriveFileEntity>
that maps <DomainName1>
to <DomainName2>
in any non-inherited permissions that are copied. The option can be specified multiple times to provide different mappings.
- Thanks to Kevin Sanghvi for suggesting this enhancement.
Updated gam <UserTypeEntity> delete othercontacts
to retry the delete step when
notFound
errors are returned after the update step.
Fixed bug in gam courses <CourseEntity> add|remove students|teachers
that caused API
call retries to fail with the following error:
Temporary error: notFound - @CourseNotFound The course was not found.
Improved performance when converting Shared Drive names to IDs.
Updated code to handle Shared Drive names that contain single quotes.* Updated google-api-python-client to version 2.35.0
Installation
If you are a first time Gam user:
If you are upgrading from standard Gam
If you are upgrading from GAMADV-X or GAMADV-XTD