Scroll to bottom of page for downloads
Latest updates
6.25.06
Added endpointverificationspecificattributes
to <DeviceFieldName>
used by gam info device
and gam print devices
.
6.26.05
Fixed bug in gam <UserTypeEntity> update contacts ... removecontactgroup <ContactGroupItem>
that failed
to remove the contact group <ContactGroupItem>
when it was specified as the contact group formatted name
as opposed to the resource name; e.g., Work Contacts
as opposed to contactGroups/2ef39b48f4e361a
.
6.26.04
Updated gam print courses ... aliasesincolumns
to properly align Aliases
columns.
6.26.03
Updated the following commands to display a usage error (ERROR: Invalid file selection with adminaccess|asadmin
)
if <DriveFileEntity>
does not reference Shared Drives. Previously, execution errors (Shared drive not found: xxxx
) would be displayed.
gam [<UserTypeEntity>] create|add drivefileacl <DriveFileEntity> [adminaccess|asadmin]
gam [<UserTypeEntity>] update drivefileacl <DriveFileEntity> <DriveFilePermissionIDorEmail> [adminaccess|asadmin]
gam [<UserTypeEntity>] delete drivefileacl <DriveFileEntity> <DriveFilePermissionIDorEmail> [adminaccess|asadmin]
gam [<UserTypeEntity>] info drivefileacl <DriveFileEntity> <DriveFilePermissionIDorEmail> [adminaccess|asadmin]
gam [<UserTypeEntity>] print drivefileacls <DriveFileEntity> [todrive <ToDriveAttribute>*] [adminaccess|asadmin]
gam [<UserTypeEntity>] show drivefileacls <DriveFileEntity> [adminaccess|asadmin]
gam [<UserTypeEntity>] create|add permissions <DriveFileEntity> <DriveFilePermissionsEntity> [adminaccess|asadmin]
gam [<UserTypeEntity>] delete permissions <DriveFileEntity> <DriveFilePermissionIDEntity> [adminaccess|asadmin]
6.26.02
Added option 'includederivedmembership' to gam <UserTypeEntity> check groups
to allow
checking if a user is a member of a group or one of its sub-groups.
6.26.01
Added option nodetails
to gam print|show groups` that simply lists
the user's groups without making the addtional API call per group to get role, status and delivery settings.
Added command that allows checking if a user is a member of specific groups.
- See: https://github.com/taers232c/GAMADV-XTD3/wiki/Users-Group-Membership#check-users-group-membership
6.26.00
Build MacOS universal version.
- Upgraded to OpenSSL 3.0.5 where possible.
Updated code in gam create course <CourseAttribute>* copyfrom <CourseID>
to avoid a trap
caused by Google returning unexpected data in the DueTime
field for course work.
6.25.21
Fixed bug in gam <UserTypeEntity> check drivefileshortcut
that caused a trap when checking
a shortcut on a Shared Drive.
6.25.20
Updated gam <UserTypeEntity> print|show shareddrives
to handle spurious Google Drive API error.
ERROR: 404: fileNotFound - Does not exist
6.25.19
Updated code to reflect Google change in how Cloud Identity User Invitations API is authenticated.
6.25.18
Updated processing of CSV files to allow a Google Doc to be downloaded as plain text and processed as a CSV file.
These are allowed
gdoc <UserGoogleDoc>
gdoc:<FieldName>)+ <UserGoogleDoc>
wherever the following are allowed.
gsheet <UserGoogleSheet>
gsheet(:<FieldName>)+ <UserGoogleSheet>
6.25.17
Added options [formatjson [quotechar <Character>]]
to gam print group-members|cigroup-members
.
Following Jay's lead, improved command gam checkconnection
.
6.25.16
Added the following option to gam <UserTypeEntity> copy drivefile ... recursive
to allow more control
over what sub files are copied when a top folder is copied.
filemimetype [not] <MimeTypeList>
6.25.15
Following Jay's lead, added command gam checkconnection
that performs checks to verify the network connection to Google.
This is an initial effort to help diagnose Google connection issues usually caused by firewalls and/or proxies.
- Upgraded to Python 3.10.6
6.25.14
Added the following options to gam <UserTypeEntity> copy drivefile ... recursive
to allow more control
over what sub files, folders and shortcuts are copied when a top folder is copied.
copysubfiles [<Boolean>] filenamematchpattern <RegularExpression>
copysubfolders [<Boolean>] foldernamematchpattern <RegularExpression>
copysubshortcuts [<Boolean>] shortcutnamematchpattern <RegularExpression>
Added the following mutually exclusive options to gam <UserTypeEntity> delete|update|sync|print|show groups
to allow more control over which groups are processed for a user. The customerid <CustomerID>
option
will be most useful to resellers.
domain <DomainName>
customerid <CustomerID>
6.25.13
Updated code in gam report users
to handle bug in Report API that caused a trap; when the userEmail
field is
mistakenly omitted, GAM backs up to an earlier date.
Updated gam info user
to display the same data (in different formats) when quick
is used with and without formatjson
.
6.25.12
Added option selectmaincontacts
to <PeoplePrintShowUserContactSelection>
to allow more flexibility in selecting contacts to display
with gam <UserTypeEntity> print|show contacts
.
- See: https://github.com/taers232c/GAMADV-XTD3/wiki/Users-People-Contacts-Profiles#select-user-contacts
6.25.11
Updated error handling for gam create|delete admin
.
6.25.10
Added option norecursion [<Boolean>]
to gam <UserTypeEntity> transfer ownership
to allow
ownership transfer of a folder but not its contents.
6.25.09
Fixed bug in gam oauth info
that deleted the scopes in oauth2.txt if it had expired.
6.25.08
Added error checking to gam create datatransfer
to avoid a trap.
6.25.07
Fixed bug introduced in 6.25.06 where only one row of a CSV file/Google Sheet was read by default.
6.25.06
Updated option maxrows <Integer>
for gam csv|loop
to be applied after input row filtering;
this allows limiting the number of filtered rows processed as opposed to the number of rows read.
maxrows 0
- All rows are processed, this is the defaultmaxrows N
- N filtered rows are processed
6.25.05
Added option maxrows <Integer>
to gam csv|loop
that allows you to limit the number of rows
read from the CSV file/Google Sheet. This can be used during testing in order to verify the functioning
of the command on a few rows before committing to all of the rows.
gam csv|loop <FileName>|-|(gsheet <UserGoogleSheet>) [charset <Charset>] [warnifnodata]
[columndelimiter <Character>] [quotechar <Character>] [fields <FieldNameList>]
(matchfield|skipfield <FieldName> <RegularExpression>)* [showcmds [<Boolean>]]
[maxrows <Integer>]
gam <GAMArgumentList>
maxrows -1
- All rows are read, this is the defaultmaxrows 0
- No rows are readmaxrows N
- N rows are read
6.25.04
Updated gam create|update course ... copyfrom <CourseID> ... copytopics true
to preserve the topics order.
6.25.03
Updated gam print users
to properly display the languages
attribute based on the output format:
default
-languages
column has the valueen+
formatjson
-JSON
column contains"languages": [{"languageCode": "en", "preference": "preferred"}]
6.25.02
Added option missingtextvalue <String>
to gam <UserTypeEntity> create note json ...
that causes GAM
to supply a value for JSON list
and text
items that are missing text fields. This option must appear
before the json
option. If not specified and a text field is missing, you'll get the following error:
Request contains an invalid argument.
6.25.01
Updated license commands to retry the following error:
ERROR: 503: serviceNotAvailable - The service is currently unavailable.
Updated https://apps.google.com/user/hub
to https://workspace.google.com/dashboard
in the new user email message; thanks to @jay-eleven
.
6.25.00
Added initial support for the Drive Labels API. GAM can display drive labels and it can apply them to files
and display drive labels on files. Please test/experiment and report any issues.
To use these commands you must add the 'Drive Labels API' to your project and update your service account authorization.
gam update project
gam user user@domain.com check serviceaccount
Supported editions for this feature: Business Standard and Business Plus; Enterprise; Education Standard and Education Plus; G Suite Business; Essentials.
- See: https://github.com/taers232c/GAMADV-XTD3/wiki/Users-Drive-Labels
- See: https://github.com/taers232c/GAMADV-XTD3/wiki/Users-Drive-Files-Display
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