Latest updates
The 6.12.02 bug fix in gam <UserTypeEntity> print|show filetree select <DriveFileEntity>
was too aggressive; when showing a file tree, folders owned by others must be processed
so that files owned by the user within those folders are displayed.
When running gam oauth create
and gam.cfg no_browser = true
, the authorization link is
no longer copied to the file gamoauthurl.txt
as this functionality required modifying
a Google supplied library.
Removed the option writeurltofile
from gam check| svcacct
that caused GAM to write
the authorization link to the file gamsvcaccturl.txt
.
Fixed bug in gam <UserTypeEntity> print|show filetree select <DriveFileEntity>
where
file ownership was not being checked which resulted in files not owned by the user being displayed.
Updated code to perform retries when a serviceNotAvailable
error occurs when listing file permissions.
Fixed bug in gam <UserTypeEntity> copy drivefile <DriveFileEntity> <DriveFileParentAttribute> recursive
that mis-copied files when the target parent folder <DriveFileParentAttribute>
was within the folder structure of <DriveFileEntity>
.
Fixed bug in gam <UserTypeEntity> check drivefileshortcut <DriveFileEntity> csv
that caused a trap.
Added command gam <UserTypeEntity> delete labelid <LabelID>
that is used to
delete Gmail labels by ID rather than by name.
Fixed bug in 6.11.05 for updating Chromebook OU by ID.
Added update_cros_ou_with_id
variable to gam.cfg
that causes GAM to update
the OU of a Chromebook with the OU ID rather than the OU path.
Set this value to true if you are getting the following error:
400: invalidInput - Invalid Input: Inconsistent Orgunit id and path in request
When specifying <UserAttribute> languages
, it is an error to specify a custom language with a preference suffix +-
.
Added option includederivedmembership
to gam print|show cigroup-members
.
This option causes the API to list indirect members of groups.
See: https://github.com/taers232c/GAMADV-XTD3/wiki/Cloud-Identity-Groups-Membership
Updated gam oauth export|refresh
to privent the following error.
ERROR: Authentication Token Error - Not all requested scopes were granted by the authorization server, missing scopes , https://sitesgooglecom/feeds, https://wwwgooglecom/m8/feeds
Added option noinvitablecheck
to gam whatis <EmailItem>
that suppresses the user invitation check
to avoid exceeding quota limits when checking a large number of addresses.
Following Jay's lead, updated processing of <UserAttribute> languages
.
You could always set a user's languages via the API; Google has added the ability to
indicate whether a language is preferred
or not_preferred
. This is implemeted in
GAM by optionally appending a +
to a language code to set preferred
and a '-' to set not_preferred
.
In the user's profile, only preferred
languages are displayed.
gam update user user@domain.com languages en+,fr+.
Updated all Cloud Identity API group calls to use version v1
of the API rather than version v1beta1
.
Added option nobatchupdate
to gam <CrOSTypeEntity> update ou <OrgUnitPath>
and
gam update cros <CrOSEntity> ou <OrgUnitPath>
that prevents GAM from using batch mode
to update the devices; this allows handling the rateLimitExceeded
error described below.
Updated code to to handle the following error as retryable:
403: rateLimitExceeded - Quota exceeded for quota metric 'Queries' and limit 'Queries per minute per user' of service 'admin.googleapis.com' for consumer 'project_number: (project)'
Updated gam print groups
and gam print|show group-members
to allow identification of groups
with the All users in the organization
member with: member id:<CustomerID>
.
Upgraded to Python 3.10.1
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