Latest updates
Fixed bugs in gam sync devices
that rendered it useless.
Deleted most local copies of Google and non-standard Python libraries.
If you are using the source verson of GAMADV-XTD3, do the following command to update your Python libraries.
pip install --upgrade -r src/requirements.txt
You should delete the following files from src/gam
:
distro.py,filelock.py
You should delete the following directories from src/gam
:
dateutil,google,google_auth_httplib2,googleapiclient,
httplib2,oauthlib,passlib,requests,requests_oauthlib
Updated Google API libraries.
Removed agreed2terms|agreedtoterms <Boolean>
from <UserBasicAttribute>
; this is a read-only attribute
and can't be modified.
Fixed bug in gam user user@domain.com remove calendars courses_with_teacher user@domain.com
that caused a trap.
Updated from Cloud Identity Groups API
version v1beta1 to version v1.
Added metacommand multiprocessexit (rc<Operator><Number>)|(rcrange=<Number>/<Number>)|(rcrange!=<Number>/<Number>)
that will terminate processing of a CSV or batch file when one of the subprocesses returns a matching return code.
See: https://github.com/taers232c/GAMADV-XTD3/wiki/Meta-Commands-and-File-Redirection#specify-multiprocessing-termination-return-code
This change was inspired by the brute force approach to finding the owner of a file by stepping through
all users. Once the owner is found, there is no need to process the remaining users; this change allows
processing to be terminated when the owner is found.
gam config auto_batch_min 1 multiprocessexit rc=0 redirect csv - multiprocess redirect stderr null multiprocess all users print filelist se\
lect id <DriveFileID> fields id,name,owners.emailaddress norecursion showownedby any
Cleaned up License Product/SKU names; replaced G Suite
with Google Workspace
where appropriate.
Added option defaultsender self|group
to <GroupSettingsAttribute>
.
Added delivery_settings
to the default list of fields in gam print group-members
.
Updated Google API libraries, removed unused libraries.
Updated gam info domain
to generate an error when the customer_id
and oauth2_txt
values are not consistent.
This typically happens when the wrong customer ID is assigned to a gam.cfg
section.
Fixed bug in gam create datatransfer <OldOwnerID> <DataTransferServiceList> <NewOwnerID>
where the privacy level was not being set in all applications if more than one was
specified in <DataTransferServiceList>
.
Upgraded to Python 3.9.7
Upgraded to OpenSSL 1.1.1l
Fixed bug in gam print chromepolicies
that caused the following error:
Chrome Policy: chrome.devices.*, Print Failed: Invalid page token, request parameters do not match page token.
Updated gam create|update course copyfrom <CourseID> ... markpublishedasdraft
to mark
published course materials as draft as well as course work; this matches the console
copy course behavior.
Updated more course related commands to handle the following error.
ERROR: 503: serviceNotAvailable - The service is currently unavailable.
Following Jay's suggestion, added option maxresults <Number>
to gam print|show resoldsubscriptions
;
the default value is 100 and the range is 1-100.
Updated gam <UserTypeEntity> claim|transfer ownership <DriveFileEntity>
to handle the following error:
ERROR: 403: insufficientFilePermissions - The user does not have sufficient permissions for this file.
Updated gam <UserTypeEntity> copy drivefile <DriveFileEntity>
to allow more attributes
to be specified on the copy. These only apply when a single file/folder is being copied.
<DriveFileCopyAttribute> ::=
(contentrestrictions readonly false)|
(contentrestrictions readonly true [reason <String>])|
(copyrequireswriterpermission [<Boolean>])|
(description <String>)|
ignoredefaultvisibility|
(keeprevisionforever|pinned)|
(lastviewedbyme <Time>)|
(modifieddate|modifiedtime <Time>)|
(mimetype <MimeType>)|
(ocrlanguage <Language>)|
(privateproperty <PropertyKey> <PropertyValue>)|
(publicproperty <PropertyKey> <PropertyValue>)|
(property <PropertyKey> <PropertyValue> [private|public])|
(viewerscancopycontent [<Boolean>])|
(writerscanshare|writerscantshare [<Boolean>])
Following Jay's suggestions, updated gam download vaultexport <ExportItem> matter <MatterItem> targetname <FileName>
to avaid data loss when <FileName>
does not contain #filename#
and there are multiple top level files with the same extension.
The files will be named FileName-N.ext
where N
is 1,2,3,...
.
Fixed gam <UserTypeEntity> print filelist ... formatjson nodataheaders <String>
to
output only <String>
when there is no data.
Updated various course related commands to handle the following error.
ERROR: 503: serviceNotAvailable - The service is currently unavailable.
Fixed bug in gam <UserTypeEntity> modify messages|threads removelabel <LabelName>
where <LabelName>
was being created inappropriately.
Due to missing API documentation, gam <UserTypeEntity> print|show datastudioassets orderby title ascending|descending
'
displayed in the opposite of the specified order.
Fixed bug that caused a trap in gam print|show chromeschemas std
.
Following Jay's suggestion, added all
to assettype
in all datastudioassets
and datastudiopermissions
commands so you can get information on both reports
and datasources
in a single command.
Fixed bug that caused a trap in gam <UserTypeEntity> transfer calendars <UserItem> <UserCalendarEntity> append description|location|summary
.
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