Scroll to bottom of page for installation/downloads
Latest updates
6.31.01
Added option nofile
to gam <UserTypeEntity> get photo|profilephoto
that causes GAM to suppress
writing the photo data to a file. This would typicically be used when you are capturing the photo data
written to stdout.
6.31.00
Added retry_api_service_not_available
variable to gam.cfg
that is used to have GAM retry
Service not applicable
errors on API calls; Google seems to be sending this error when it is very busy.
This is a rare event, this is an experiment to see if GAM can identify these errors and retry them.
6.30.18
Fixed bug in gam <UserTypeEntity> move drivefile
where the modified time of files was inappropriately being changed.
6.30.17
Updated code for gam <UserTypeEntity> get profilephoto size <Integer>
to account for API documentation error.
6.30.16
Added option nodefault
to gam <UserTypeEntity> get profilephoto
that causes GAM to display an
error message and set the return code to 50 if the user has a default profile photo.
6.30.15
Added option gphoto <EmailAddress> <DriveFileIDEntity>|<DriveFileNameEntity>
to gam <UserTypeEntity> update photo
that specifies an owner and file to be used as the source of the photo.
6.30.14
Fixed bug in gam <UserTypeEntity> print|show peopleprofile fields ...
where metadata was being displayed
even when showmetadata
was not specified.
6.30.13
Fixed bug in gam <UserTypeEntity> show fileinfo <DriveFileEntity> fields shortcutdetails.targetid
that caused a trap.
Added option size <Integer>
to gam <UserTypeEntity> get profilephoto
that specifies the size in pixels of the file to download.
6.30.12
Updated gam update group <GroupEntity> update [<GroupRole>] [[delivery] <DeliverySetting>] <UserTypeEntity>
to handle the following error when <UserTypeEntity>
is an external member.
ERROR: 404: resourceNotFound - Does not exist
This is a Google bug where some external members can't be updated by email address.
6.30.11
Added option emailmatchpattern [not] <RegularExpression>
to gam <UserTypeEntity> delete group|groups
that allows deleting a user from all groups of which they are a member based on (not) matching the group email address.
6.30.10
Added the ability to specify fields when displaying calendars.
- See: https://github.com/taers232c/GAMADV-XTD3/wiki/Calendars
- See: https://github.com/taers232c/GAMADV-XTD3/wiki/Users-Calendars
6.30.09
Added the following shortcuts to <DriveFileQueryShortcut>
:
* my_top_files - "'me' in owners and mimeType != application/vnd.google-apps.folder and 'root' in parents"
* my_top_folders - "'me' in owners and mimeType = application/vnd.google-apps.folder and 'root' in parents"
* my_top_items - "'me' in owners and 'root' in parents"
6.30.08
Following Jay's lead, added the following License SKUs:
1010390001 - Assured Controls
1010400001 - Beyond Corp Enterprise
6.30.07
Added option sheetsfields <SpreadsheetSheetsFieldList>
to gam <UserTypeEntity> print|show sheet <DriveFileEntity>
that lets you specfiy the desired subfields from the sheets
field of a spreadsheet that should be displayed.
By default, all sheets
subfields are displayed.
<SpreadsheetSheetsField> ::=
bandedranges|
basicfilter|
charts|
columngroups|
conditionalformats|
data|
developermetadata|
filterviews|
merges|
properties|
protectedranges|
rowgroups|
slicers
<SpreadsheetSheetsFieldList> ::= "<SpreadsheetSheetsField>(,<SpreadsheetSheetsField>)*"
6.30.06
Fixed bug in gam <UserTypeEntity> create|update|delete drivefileacl <DriveFileEntity> ... updatesheetprotectedranges
that caused a trap.
6.30.05
Cleaned up code for option updatesheetprotectedranges
in gam <UserTypeEntity> create|update|delete drivefileacl <DriveFileEntity>
.
6.30.04
Improved output formatting for field sheets
in gam <UserTypeEntity> info sheet <DriveFileEntity>
.
6.30.03
Updated gam <UserTypeEntity> create|update drivefileacl <DriveFileEntity>
commands to handle the following error.
ERROR: 403: fileOrganizerOnFoldersInSharedDriveOnly - FileOrganizer role is only allowed on folders.
Added option updatesheetprotectedranges to
gam create|update|delete drivefileacl commands that causes GAM to update Sheet Protected Ranges if
` is a Google Sheet.
6.30.02
Fixed error message in gam print cigroups
when an invalid field was specified.
6.30.01
Fixed bug in gam create cigroup <EmailAddress> name <String> <GroupAttribute>+
where the group name was set to <EmailAddress>
rather than <String>
.
6.30.00
Added option returnidonly
to gam <UserTypeEntity> show fileinfo <DriveFileEntity>
that causes GAM to return just the file ID of the files in <DriveFileEntity>
file as output.
$ gam user user@domain.com show fileinfo root returnidonly
0AHYenC8f12ALUk9xyz
$ gam user testsimple show fileinfo name "Test File" returnidonly
0B3YenC8f12ALflhUTmtNS3E2Vk9LSUpBVXRSUG5lQ29GWkRtWHM1VzU1blc4ZW1pb2FnNTA
Changed the display format of file paths for files on Shared Drives.
- Old format - SharedDrive(TS Shared Drive 6)/TS SD6 Folder/TS TD6 Doc
- New format -SharedDrives/TS Shared Drive 6/TS SD6 Folder/TS TD6 Doc
Added option returnpathonly
to gam <UserTypeEntity> show filepath <DriveFileEntity>
that causes GAM to return just the file path of the files in <DriveFileEntity>
file as output.
$ gam user user@domain.com show filepath name "Test File" returnpathonly
My Drive/Classroom/Test File
$ gam user user@domain.com show filepath 0AJ6mqwXP9wHxUk9xyz returnpathonly
TS Shared Drive 6
$ gam user testsimple show filepath 0AJ6mqwXP9wHxUk9xyz returnpathonly fullpath
SharedDrives/TS Shared Drive 6
$ gam user user@domain.com show filepath teamdriveid 0AJ6mqwXP9wHxUk9xyz teamdrivefilename "TS TD6 Doc" returnpathonly
SharedDrives/TS Shared Drive 6//TS SD6 Folder/TS TD6 Doc
Added command gam comment <String>*
that displays the comment data on stdout.
This can be used to validate csv_input_row_filters
and column value extraction.
$ more Comment.csv
col1,col2
aaa,111
bbb,222
ccc,333
$ gam config csv_input_row_drop_filter "col1:regex:bbb" csv Comment.csv gam comment "Col1:~~col1~~" "Col2:~~col2~~"
2022-12-16T12:41:50.045-08:00,0/2,Using 2 processes...
Col1:aaa Col2:111
Col1:ccc Col2:333
Updated gam <UserTypeEntity> create|delete license <SKUIDList>
to take a list of SKUs.
Updated gam create user <EmailAddress> ... license <SKUIDList>
to take a list of SKUs.
Updated gam <UserTypeEntity> sync license <SKUIDList>
to take a list of SKUs and
added option allskus|onesku
that is required when multiple SKUs are specified.
allskus
indicates that users in<UserTypeEntity>
will be updated to have all of the SKUs in<SKUIDList>
.- This is typically used when assigning different types of licenses, such as an Enterprise license and a Voice license.
onesku
indicates that users in<UserTypeEntity>
with none of the licenses in<SKUIDList>
will be updated to have the first available license SKU in<SKUIDList>
.- This is typically used with Google Education Plus or Google Education Standard licenses, which are split across multiple SKUs.
Added option basic
to gam print cigroups
that causes GAM to display the basic
Cloud Identity Group fields, i.e., those fields that do not require an additional API call per group.
Following Jay's lead, added option query <String>
to gam print cigroups
.
Installation
If you are a first time Gam user:
If you are updating your GAMADV-XTD3 version:
If you are upgrading from standard Gam
If you are upgrading from GAMADV-X or GAMADV-XTD
sha256 hashes
af8bdcc4424bc6075d07e1b3655195fcde451cdb738b73ddefc64ce3c49e3875 gamadv-xtd3-6.31.01-linux-arm64-glibc2.23.tar.xz
2fd6a14f9be00032ec23c28ce3d2fd44d19e5fd69025159cffb6e39acc28b972 gamadv-xtd3-6.31.01-linux-arm64-glibc2.27.tar.xz
d14e3c3d0a347561bc117949daf21b24e8075fe242ca0938a1a570ff081df138 gamadv-xtd3-6.31.01-linux-arm64-glibc2.31.tar.xz
f0531ee4ce9a964f0b36dd0c69e1ea92e655ef267557b3dad6ba8d51b9fe7ced gamadv-xtd3-6.31.01-linux-x86_64-glibc2.19.tar.xz
e2651d5689dd0a70c4382c5e4af737959448fe5a3153ac35ea84a49124f931c4 gamadv-xtd3-6.31.01-linux-x86_64-glibc2.23.tar.xz
9be8e4477306930a405e3245b2bad65ddd2ce4a9260ab96a445ce276bfa250dd gamadv-xtd3-6.31.01-linux-x86_64-glibc2.27.tar.xz
90c5e8c2554d88786cd76eb7ca509e8fda89317ff7b2c8673ccfdf6f94530846 gamadv-xtd3-6.31.01-linux-x86_64-glibc2.31.tar.xz
9d8c0b260ba143821a2397ce92314f76dab70e2f83719c70efa5da8acc0bcfff gamadv-xtd3-6.31.01-linux-x86_64-glibc2.35.tar.xz
ea6c477e2113642bd8a72850284e6fba76cf77636f96ae3d005b1e5ddef4dd70 gamadv-xtd3-6.31.01-linux-x86_64-legacy.tar.xz
b6d98ca09d545402e538a20a229421b96bb6cd03d484b058b1ab74ffe7ba1d98 gamadv-xtd3-6.31.01-macos-arm64.tar.xz
92234366cc157c3d51d2e05428c1463560d89fabb8e921b66d7be308480ceb8d gamadv-xtd3-6.31.01-macos-x86_64-legacy.tar
4da6f3db5e13f1a1da93dcfeb25b2b819fdb6bb2a0c86e19183c24a0c805c79b gamadv-xtd3-6.31.01-macos-x86_64.tar.xz
e77decc2604b4c915002b009dd43b8910569f28168a162e836d846b8e7f1f6b8 gamadv-xtd3-6.31.01-windows-x86.msi
0b2e97a4c3b9cc1c3d1e808879c0a59ec49e1a77c49ef2a17b5deebd11090a76 gamadv-xtd3-6.31.01-windows-x86.zip
fc079ae545f6575c6972c1f4d82a25c3a2ca5ad45f40b909437ca86a2e525151 gamadv-xtd3-6.31.01-windows-x86_64.msi
3f075cbae73c353bed6838484591e71d0cf9c100feab75e27db00222699d0c05 gamadv-xtd3-6.31.01-windows-x86_64.zip