Scroll to bottom of page for installation/downloads
Latest updates
6.31.02
Updated gam <UserTypeEntity> vacation
to process (replace <Tag> <String>)*
in the subject.
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
a1ee331efd5f3a51a0e0b52d5f259bfebf13f44061138af14357719dc1b7f472 gamadv-xtd3-6.31.02-linux-arm64-glibc2.23.tar.xz
76e0dc075d2c7d559e7fdf21dc60d2bede6f72a9cf6ce630de926807d1fb3dd4 gamadv-xtd3-6.31.02-linux-arm64-glibc2.27.tar.xz
3710c60839ad771c910fd2d039e3937fd11ef23484417ffd8539e5c7b66d5f10 gamadv-xtd3-6.31.02-linux-arm64-glibc2.31.tar.xz
888a7eb03094ec2e36d01862045929d886ca18e3a14710ccf1ab590a9c034c93 gamadv-xtd3-6.31.02-linux-x86_64-glibc2.19.tar.xz
d357aeddca5353b3a97a4cdcd3e8ce5f2aae3db3ed8d71931964e67df21d5ce1 gamadv-xtd3-6.31.02-linux-x86_64-glibc2.23.tar.xz
ef03e7167de1cd0829afc89965956b4b0100d60bc33602a5b4f21ab5651bd0be gamadv-xtd3-6.31.02-linux-x86_64-glibc2.27.tar.xz
19f248156380c2fe001722a9de91a67eb97e862634de6ce681543783c6ddafb5 gamadv-xtd3-6.31.02-linux-x86_64-glibc2.31.tar.xz
9d4b560d11162782c24f88510fc66205e6d79cbe0778b7002dbdf98a1377f4b6 gamadv-xtd3-6.31.02-linux-x86_64-glibc2.35.tar.xz
c2eae33dc1c101b056efd8815655ad01f0cf1aa909eda504c152e58de52d51b2 gamadv-xtd3-6.31.02-linux-x86_64-legacy.tar.xz
0f34f7622ee408882b2fdbfbf8b4ac6121bad5a3350d1a501e559fef8324bf33 gamadv-xtd3-6.31.02-macos-arm64.tar.xz
9997f64a2496e1c41342eb5d28f06441e4a7fd6d27a7b30f6bdc9249899a7ddc gamadv-xtd3-6.31.02-macos-x86_64-legacy.tar
abeff72c71e9da72dce58fdd7f72842bdf3e6ec4d8d64e4928f53862bc363ccc gamadv-xtd3-6.31.02-macos-x86_64.tar.xz
510742eab8f0ce73108efd1a3022cb0a01d53e97fb8230b872bdd40cc33e0f05 gamadv-xtd3-6.31.02-windows-x86.msi
cffea458faac5852b08a671616d221d92b257d0e35603e7abad3fb886a99e34c gamadv-xtd3-6.31.02-windows-x86.zip
b49ea6fb888b898f7dac7869a949bf03a0c29c8936de1d1f782ff73c134b4dce gamadv-xtd3-6.31.02-windows-x86_64.msi
2c5f34c3555d1745eaa4397bab4affae696546c4f8a39bf60b305d27a4a8e170 gamadv-xtd3-6.31.02-windows-x86_64.zip