# Update GAM7 to latest version Automatic update to the latest version on Linux/Mac OS/Google Cloud Shell/Raspberry Pi/ChromeOS: - Do not create project or authorizations, default path `$HOME/bin` - `bash <(curl -s -S -L https://git.io/gam-install) -l` - Do not create project or authorizations, specify a path - `bash <(curl -s -S -L https://git.io/gam-install) -l -d ` By default, a folder, `gam7`, is created in the default or specified path and the files are downloaded into that folder. Add the `-s` option to the end of the above commands to suppress creating the `gam7` folder; the files are downloaded directly into the default or specified path. See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation ### 7.29.00 Added options `mappermissionsemail ` and ` mappermissionsemailfile endcsv` to these commands: ``` gam [] copy shareddriveacls to gam [] sync shareddriveacls with gam copy drivefile gam move drivefile ``` When `mappermissionsemail ` is specifed, an ACL that references the first `` in the source will be modified to reference the second `` in the destination. Bulk permission email address mapping can be specified with `mappermissionsemailfile endcsv`. `` must include these columns: `sourceEmail` and `destinationEmail`. These options will be most useful with inter-workspace Shared Drive copies and moves. ### 7.28.13 Added option `addcsvdata ` to `gam print messages` that adds additional columns of data to the CSV file output. ### 7.28.12 Updated `gam delete project` to handle the following error: ``` ERROR: 400: failedPrecondition - Project not active ``` ### 7.28.11 Removed all options/fields referencing inheritance from `gam create|update|info|print org` as this option/field is deprecated. ### 7.28.10 Added a command `gam print course-counts` that dsplays the count of the number of courses in which a teacher or student is a participant. * See: https://github.com/GAM-team/GAM/wiki/Classroom-Membership#display-course-counts-for-teachers-students ### 7.28.09 Fixed bug in `gam print cigroups ... descriptionmatchpattern [not] ` that caused a trap. ### 7.28.08 Updated `gam print|show chatmessages` to cache the sender UID to email address map so that each sender UID only has to be looked up once; this improves performance. ### 7.28.07 Fixed bug in `gam report users ... aggregatebydate|aggregatebyuser` where `accounts:used_quota_in_percentage` was incorrectly displayed. ### 7.28.06 Updated `gam info|print|show calendars` and `gam calendars print|show settings` to display the new `dataOwner` field as described under `Additional details` below. * See: https://workspaceupdates.googleblog.com/2025/11/secondary-calendar-management-with-dedicated-owners.html ### 7.28.04 Updated commands that display Chrome device counts to display the date in the output. * See: https://github.com/GAM-team/GAM/wiki/Chrome-Device-Counts ### 7.28.03 Improved commands to display Chrome device counts. * See: https://github.com/GAM-team/GAM/wiki/Chrome-Device-Counts ### 7.28.02 Added commands to display Chrome device counts. * See: https://github.com/GAM-team/GAM/wiki/Chrome-Device-Counts ### 7.28.01 Updated `gam show fileinfo ` to display `displayName` as the key field of a `permission` not `deleted`. ### 7.28.00 Added option `addcsvdata ` to `gam report [usage] customers|users` that adds additional columns of data to the CSV file output. This will be most useful when reading a CSV of user information and you want to include some of the user information, e.g., orgUnitPath, in the output. ``` gam redirect csv ./Users.csv print users fields ou gam redirect csv ./UserStorageInfo.csv multiprocess csv Users.csv gam report users user "~primaryEmail" parameters accounts:drive_used_quota_in_mb,accounts:gmail_used_quota_in_mb,accounts:gplus_photos_used_quota_in_mb,accounts:total_quota_in_mb,accounts:used_quota_in_mb,accounts:used_quota_in_percentage addcsvdata orgUnitPath "~orgUnitPath" ``` ### 7.27.05 Added option `addcsvdata ` to `gam print courses` that adds additional columns of data to the CSV file output. The following scope is no longer necessary: `Cloud Identity API - Groups Beta (Enables group locking/unlocking)` as this scope `Cloud Identity API - Groups` now provides group locking/unlocking. ### 7.27.04 Added options to `gam create delegate` that support sending email notifications when a user adds a delegate. * See: https://github.com/GAM-team/GAM/wiki/Users-Gmail-Delegates#delegation-notification ### 7.27.03 Updated `gam create|update|sync chatmember` role specification to `role member|manager|owner`. This is the mapping between the Chat UI and Chat API; GAM uses the Chat UI role names. ``` UI: Member, API: ROLE_MEMBER UI: Manager, API: ROLE_ASSISTANT_MANAGER UI: Owner, API: ROLE_MANAGER ``` Updated `gam update chatspace` options for permission settings. ``` [managemembersandgroups owners|managers|members] [modifyspacedetails owners|managers|members] [togglehistory owners|managers|members] [useatmentionall owners|managers|members] [manageapps owners|managers|members] [managewebhooks owners|managers|members] [replymessages owners|managers|members] ``` ### 7.27.02 Added option `clearattachments ` to `gam [] update chatmessage` that clears all attachments from a Chat message. If `` is not specified, the current message text is retained and `` is appended; `` must be specified but can be empty in which case the current message test is preserved as-is. ### 7.27.01 Fixed bug in `gam claim ownership ... onlyUsers|skipusers ` where the email addresses in `onlyUsers|skipusers ` were not normalized. ### 7.27.00 Added `debug_redaction` Boolean variable to `gam.cfg`. When True, the default, sensitive data like access/refresh tokens, client secret and authorization codes are redacted from debug output. This allows you to post debug output without compromising your account information. Even with debug redaction, anything shared publicly should be double-checked for sensitive content. ### 7.25.01 Fixed bug in `gam config timezone ` to handle timezone abbreviations correctly; they were incorrectly shifted to lowercase. ### 7.25.00 Removed a capabilty added in 7.24.00 that allowed reading command data from Google Docs and Sheets when a user's service account access to Drive and Sheets had been disabled. Jay was concerned that this change could be exploited to give access to all user's files. This capability has been replaced by issuing the following commands. The admin specified in `gam oauth create` can read command data from Docs and Sheets to which it has access. ``` gam config commanddata_clientaccess true save gam oauth create Enable the following and proceed to authorization. [*] 42) Drive API - commanddata_clientaccess [*] 54) Sheets API - commanddata_clientaccess ``` * See: https://github.com/GAM-team/GAM/wiki/Command-Data-From-Google-Docs-Sheets-Storage#limited-service-account-access Fixed in bug in `gam report` that caused a trap with either of the `thismonth` or `previousmonths` options were used. Upgraded to Python 3.14.0. ### 7.24.01 Updated GAM to handle the following error that occurs when GAM tries to authenticate as a user that has been disabled by Google. ``` ERROR: Authentication Token Error - invalid_account: Forbidden ``` ### 7.24.00 If you want to disable a user's service account access to Drive and Sheets but still allow reading command data from Google Docs and Sheets, issue the following command and make these settings: ``` gam user user@domain.com update serviceaccount [ ] 20) Drive API (supports readonly) [*] 21) Drive API - read command data [ ] 42) Sheets API (supports readonly) [*] 43) Sheets API - read command data ``` ### 7.23.07 Fixed bug in `gam print|show admins` where all admin assignments were not displayed when `types ` was not specified, i.e., all assignments should be displayed. ### 7.23.06 Added option `types ` to `gam print|show admins` that allows filtering of admin assignments by the type of the assignee; by default, all assignee types are displayed. ``` ::= group|user|serviceaccount|unknown ::= "(,)*" ``` ### 7.23.05 Added option `recursive` to `gam print|show admins` that will display assignments to the members of security groups assigned to roles; the security group membership is recursively expanded. ### 7.23.04 Added option `addcsvdata ` to `gam print events` and `gam calendars print events` that adds additional columns of data to the CSV file output. An example would be to get the calendar name in addition to the calendar ID when printing events. ``` gam redirect csv ./Resources.csv print resources fields email,name gam redirect csv ./ResourceEventCounts.csv multiprocess redirect stderr - multiprocess csv Resources.csv gam calendar "~resourceEmail" print events starttime -1y countsonly addcsvdata calendarName "~resourceName" ``` Upgraded to OpenSSL 3.6.0. ### 7.23.03 Upgraded to OpenSSL 3.5.4. ### 7.23.02 Added option `oneitemperrow` to 'gam print course-materials|course-work` to have each of a course's materials displayed on a separate row with all of the other course fields. This produces a CSV file that can be used in subsequent commands to process the materials without further script processing. ### 7.23.00 Added `chat_max_results` variable to `gam.cfg`. ``` chat_max_results When retrieving lists of Chat items from API, how many should be retrieved in each API call Default: 100 Range: 1 - 1000 ``` Previously, this vaule was always set to 1000 which could cause errors. ### 7.22.07 Added options `showdetails` and `returnidonly` to `gam create|copy vaultquery`. Added option `` to `gam create vaultexport|vaultquery and `gam print vaultcounts``. ### 7.22.06 Added commands to create, copy and delete Vault saved queries. ``` gam create vaultquery [name ] corpus calendar|drive|gemini|groups|hangouts_chat|mail|voice [scope all_data|held_data|unprocessed_data] (accounts ) | (orgunit|org|ou ) | everyone (documentids (|(select |))) | (shareddrives|teamdrives (|(select |))) | [(includeshareddrives )|(shareddrivesoption included|included_if_account_is_not_a_member|not_included)] (sitesurl (||(select |))) [driveversiondate |