gam7 7.20.1__tar.gz → 7.20.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gam7 might be problematic. Click here for more details.
- {gam7-7.20.1 → gam7-7.20.2}/PKG-INFO +1 -1
- {gam7-7.20.1 → gam7-7.20.2}/src/GamCommands.txt +3 -1
- {gam7-7.20.1 → gam7-7.20.2}/src/GamUpdate.txt +6 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/__init__.py +38 -27
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/glclargs.py +1 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Classroom-StudentGroups.md +57 -1
- {gam7-7.20.1 → gam7-7.20.2}/wiki/GamUpdates.md +7 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +2 -2
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Chat.md +22 -5
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Version-and-Help.md +6 -6
- {gam7-7.20.1 → gam7-7.20.2}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/.github/ISSUE_TEMPLATE.txt +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/.github/actions/decrypt.sh +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/.github/actions/entitlements.plist +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/.github/actions/package_exclusions.txt +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/.github/stale.yml +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/.github/workflows/build.yml +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/.github/workflows/codeql-analysis.yml +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/.github/workflows/get-cacerts.yml +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/.github/workflows/pushwiki.yml +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/.github/workflows/pypi.yml +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/.pre-commit-config.yaml +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/LICENSE +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/README.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/pyproject.toml +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/.gitignore +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/LICENSE +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/README.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/cacerts.pem +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/callgam.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/__main__.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/atom/__init__.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/atom/auth.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/atom/client.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/atom/core.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/atom/data.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/atom/http.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/atom/http_core.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/atom/http_interface.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/atom/mock_http.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/atom/mock_http_core.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/atom/mock_service.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/atom/service.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/atom/token_store.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/atom/url.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/cacerts.pem +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/cbcm-v1.1beta1.json +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/contactdelegation-v1.json +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/datastudio-v1.json +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/__init__.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/glaction.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/glapi.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/glcfg.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/glentity.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/glgapi.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/glgdata.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/glglobals.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/glindent.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/glmsgs.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/glskus.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/gluprop.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/glverlibs.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gamlib/yubikey.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gdata/__init__.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gdata/alt/__init__.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gdata/alt/app_engine.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gdata/alt/appengine.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gdata/apps/__init__.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gdata/apps/audit/__init__.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gdata/apps/audit/service.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gdata/apps/contacts/__init__.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gdata/apps/contacts/service.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gdata/apps/service.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gdata/service.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/gdata/urlfetch.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/__init__.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/_auth.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/_helpers.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/channel.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/discovery.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/errors.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/http.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/mimeparse.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/model.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/schema.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/googleapiclient/version.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/iso8601/__init__.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/iso8601/iso8601.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/meet-v2beta.json +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/serviceaccountlookup-v1.json +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam/six.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam-install.sh +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam-setup.bat +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam.exe.manifest +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam.spec +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/gam.wxs +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/license.rtf +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/requirements-dev.txt +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/tools/a_atleast_b.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/tools/gen-wix-xml-filelist.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/tools/mkGamRef.py +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/tools/openssl.props +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/tools/ssd.mjs +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/src/version_info.txt.in +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/00scratch.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Addresses.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Administrators.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Alert-Center.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Aliases.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Authorization.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/BNF-Syntax.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Basic-Items.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Bulk-Processing.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Business-Account-Management.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/CSV-Input-Filtering.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/CSV-Output-Filtering.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/CSV-Special-Characters.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Calendars-Access.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Calendars-Events.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Calendars.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Chat-Bot-Setup-Use.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Chrome-AUE-Counts.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Chrome-Installed-Apps.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Chrome-Policies.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Chrome-Printers.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Chrome-Profile-Management.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Chrome-Version-Counts.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Chrome-Version-History.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/ChromeOS-Devices.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Classroom-Courses.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Classroom-Guardians.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Classroom-Invitations.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Classroom-Membership.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Cloud-Channel.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Cloud-Identity-Devices.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Cloud-Identity-Groups.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Cloud-Identity-Policies.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Cloud-Storage.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Collections-of-Items.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Collections-of-Users.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Command-Line-Parsing.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Command-Logging-Progress.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Context-Aware-Access-Levels.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Customer.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Domain-People-Contacts-Profiles.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Domain-SharedContacts.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Domains-Verification.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Domains.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Downloads-Installs.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Drive-File-Selection.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Drive-Items.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Drive-REST-API-v3.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Email-Audit-Monitor.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Find-File-Owner.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/GAM-Public-Chat-Room.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/GAM-Return-Codes.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/GAM7-on-Android-Devices.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Global-Address-List.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Google-Data-Transfers.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Google-Network-Addresses.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Groups-Membership.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Groups.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/HTTPS-Proxy.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Home.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/How-to-Install-GAM7.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/How-to-Uninstall-GAM7.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/How-to-Update-GAM7.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Inbound-SSO.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Install-GAM-as-Python-Library.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Licenses.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/List-Items.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/List.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Mobile-Devices.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Organizational-Units.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Other-Resources.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Permission-Matches.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Python-Regular-Expressions.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/README.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Rclone.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Reports.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Reseller.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Resources.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/SSL-Root-CA-Certificates.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Schemas.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Scripts.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Send-Email.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Shared-Drives.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Sites.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Tag-Replace.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Todrive.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Unmanaged-Accounts.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Upgrade-Benefits.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Analytics-Admin.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Application-Specific-Passwords.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Backup-Verification-Codes.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Calendars-Access.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Calendars-Events.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Calendars.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Classification-Labels.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Classroom-Profile.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Contacts-Delegates.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Contacts.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Deprovision.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Drive-Activity-Settings.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Drive-Cleanup.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Drive-Comments.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Drive-Copy-Move.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Drive-Files-Display.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Drive-Files-Manage.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Drive-Orphans.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Drive-Ownership.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Drive-Permissions.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Drive-Query.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Drive-Revisions.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Drive-Shortcuts.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Drive-Transfer.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Forms.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Gmail-CSE.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Gmail-Delegates.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Gmail-Filters.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Gmail-Forwarding.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Gmail-Labels.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Gmail-Messages-Threads.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Gmail-Profile.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Gmail-S-MIME.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Gmail-Settings.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Group-Membership.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Keep-Notes.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Looker-Studio.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Meet.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-People-Contacts-Profiles.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Photo.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Profile-Photo.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Profile-Sharing.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Shared-Drives.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Signout-Turnoff2SV.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Spreadsheets.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Tag-Manager.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Tasks.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Tokens.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-Web-Resources-and-Sites.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users-YouTube.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Users.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Vault-Takeout.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/_Sidebar.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/gam.cfg.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-AdminSettingsExamples.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Android-Installation.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-BulkOperations.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-CalendarExamples.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Chat-Bot.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Chrome-Browser-Management.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Chrome-OS-Installation.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Chrome-Policy-Settings.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Cloud-Identity-Groups.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Command-Reference-Calendar-Resources.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Command-Reference-Calendars.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Command-Reference-Definitions.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Command-Reference-Drive.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Command-Reference-Email.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Command-Reference-Group-Attributes.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Command-Reference-Groups.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Command-Reference-Users.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Context-Aware-Access-Levels.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-CreatingClientSecretsFile.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Custom-Schemas.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Data-Transfers.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-DomainVerification.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-ExamplesAccountAuditing.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-ExamplesCSV.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-ExamplesEmailSettings.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-ExamplesOrganizations.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-GAM-Discussion-Group.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-GAM-on-Android-and-Chrome-OS.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-GAM-options-files.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-GAM-with--minimal-GCP-rights.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-GAM3CSVListings.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-GAM3DirectoryCommands.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-GAM3GroupSettings.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-GAM7-FAQ.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Google-Vault---Takeout-Commands.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-GoogleDriveManagement.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Grouping-18-or-Older-Users.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Home.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-How-to-upgrade-from-Standard-GAM.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Inbound-SSO-Settings.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-LicenseExamples.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Managing-Admins.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Managing-CloudPrint-Printers.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Managing-Devices.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Managing-Google-Classroom.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-OAuthKeyManagement.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Printers.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-ResellerCommands.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Running-GAM-on-Google-Compute-Engine-(GCE)-Securely.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-SecurityExamples.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-UnmanagedUsersExamples.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Use-a-Yubikey.md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
- {gam7-7.20.1 → gam7-7.20.2}/wiki/l-_Footer.md +0 -0
|
@@ -1246,6 +1246,8 @@ Specify a collection of items by directly specifying them; the item type is dete
|
|
|
1246
1246
|
<SiteACLScopeList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
|
1247
1247
|
<SiteEntity> ::=
|
|
1248
1248
|
<SiteList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
|
1249
|
+
<StringEntity> ::=
|
|
1250
|
+
<StringList> | <FileSelector> | <CSVFileSelector>
|
|
1249
1251
|
<StudentGroupEntity> ::=
|
|
1250
1252
|
<StudentGroupIDList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector>
|
|
1251
1253
|
<TagManagerAccountPathEntity> ::=
|
|
@@ -3396,7 +3398,7 @@ gam print course-works [todrive <ToDriveAttribute>*]
|
|
|
3396
3398
|
|
|
3397
3399
|
gam create course-studentgroups
|
|
3398
3400
|
(course|class <CourseEntity>)*|([teacher <UserItem>] [student <UserItem>] [states <CourseStateList>])
|
|
3399
|
-
title <String>
|
|
3401
|
+
((title <String>)|(select <StringEntity))+
|
|
3400
3402
|
[csv [todrive <ToDriveAttribute>*] [formatjson [quotechar <Character>]]]
|
|
3401
3403
|
gam update course-studentgroups <CourseID> <StudentGroupID> title <String>
|
|
3402
3404
|
gam delete course-studentgroups <CourseID> <StudentGroupIDEntity>
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
7.20.02
|
|
2
|
+
|
|
3
|
+
Upgraded `gam create course-studentgroups` to allow specification of multiple student group titles;
|
|
4
|
+
multiple student groups can be created in a single command.
|
|
5
|
+
* `((title <String>)|(select <StringEntity))+`
|
|
6
|
+
|
|
1
7
|
7.20.01
|
|
2
8
|
|
|
3
9
|
Added option `showaccesssettings` to `gam [<UserTypeEntity>] print|show chatspaces`. When listing
|
|
@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
|
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
27
|
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
|
|
28
|
-
__version__ = '7.20.
|
|
28
|
+
__version__ = '7.20.02'
|
|
29
29
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
|
30
30
|
|
|
31
31
|
#pylint: disable=wrong-import-position
|
|
@@ -51233,7 +51233,7 @@ def printShowClassroomProfile(users):
|
|
|
51233
51233
|
|
|
51234
51234
|
# gam create course-studentgroups
|
|
51235
51235
|
# (course|class <CourseEntity>)*|([teacher <UserItem>] [student <UserItem>] [states <CourseStateList>])
|
|
51236
|
-
# title <String>
|
|
51236
|
+
# ((title <String>)|(select <StringEntity))+
|
|
51237
51237
|
# [csv [todrive <ToDriveAttribute>*] [formatjson [quotechar <Character>]]]
|
|
51238
51238
|
def doCreateCourseStudentGroups():
|
|
51239
51239
|
croom = buildGAPIObject(API.CLASSROOM)
|
|
@@ -51243,10 +51243,13 @@ def doCreateCourseStudentGroups():
|
|
|
51243
51243
|
courseShowProperties = _initCourseShowProperties(['name'])
|
|
51244
51244
|
useOwnerAccess = GC.Values[GC.USE_COURSE_OWNER_ACCESS]
|
|
51245
51245
|
kwargs = {'courseId': None, 'body': {}}
|
|
51246
|
+
titles = []
|
|
51246
51247
|
while Cmd.ArgumentsRemaining():
|
|
51247
51248
|
myarg = getArgument()
|
|
51248
51249
|
if myarg == 'title':
|
|
51249
|
-
|
|
51250
|
+
titles.append(getString(Cmd.OB_STRING))
|
|
51251
|
+
elif myarg == 'select':
|
|
51252
|
+
titles.extend(getEntityList(Cmd.OB_STRING_ENTITY, shlexSplit=True))
|
|
51250
51253
|
elif _getCourseSelectionParameters(myarg, courseSelectionParameters):
|
|
51251
51254
|
pass
|
|
51252
51255
|
elif myarg == 'csv':
|
|
@@ -51256,8 +51259,9 @@ def doCreateCourseStudentGroups():
|
|
|
51256
51259
|
csvPF.GetTodriveParameters()
|
|
51257
51260
|
else:
|
|
51258
51261
|
FJQC.GetFormatJSONQuoteChar(myarg, True)
|
|
51259
|
-
if
|
|
51262
|
+
if not titles:
|
|
51260
51263
|
missingArgumentExit('title')
|
|
51264
|
+
jcount = len(titles)
|
|
51261
51265
|
if csvPF and FJQC.formatJSON:
|
|
51262
51266
|
csvPF.SetJSONTitles(['courseId', 'courseName', 'JSON'])
|
|
51263
51267
|
coursesInfo = _getCoursesInfo(croom, courseSelectionParameters, courseShowProperties, useOwnerAccess)
|
|
@@ -51272,29 +51276,36 @@ def doCreateCourseStudentGroups():
|
|
|
51272
51276
|
if not ocroom:
|
|
51273
51277
|
continue
|
|
51274
51278
|
kwargs['courseId'] = courseId
|
|
51275
|
-
|
|
51276
|
-
|
|
51277
|
-
|
|
51278
|
-
|
|
51279
|
-
|
|
51280
|
-
|
|
51281
|
-
|
|
51282
|
-
|
|
51283
|
-
|
|
51284
|
-
|
|
51285
|
-
|
|
51286
|
-
|
|
51287
|
-
|
|
51288
|
-
|
|
51289
|
-
|
|
51290
|
-
|
|
51291
|
-
|
|
51292
|
-
|
|
51293
|
-
|
|
51294
|
-
|
|
51295
|
-
|
|
51296
|
-
|
|
51297
|
-
|
|
51279
|
+
entityPerformActionNumItems([Ent.COURSE, courseId], jcount, Ent.COURSE_STUDENTGROUP, i, count)
|
|
51280
|
+
Ind.Increment()
|
|
51281
|
+
j = 0
|
|
51282
|
+
for title in titles:
|
|
51283
|
+
j += 1
|
|
51284
|
+
kwargs['body']['title'] = title
|
|
51285
|
+
kvList = [Ent.COURSE, courseId, Ent.COURSE_STUDENTGROUP, None]
|
|
51286
|
+
try:
|
|
51287
|
+
studentGroup = callGAPI(ocroom.courses().studentGroups(), 'create',
|
|
51288
|
+
throwReasons=[GAPI.NOT_FOUND, GAPI.SERVICE_NOT_AVAILABLE, GAPI.NOT_IMPLEMENTED,
|
|
51289
|
+
GAPI.FORBIDDEN, GAPI.PERMISSION_DENIED],
|
|
51290
|
+
retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS,
|
|
51291
|
+
previewVersion='V1_20250630_PREVIEW',
|
|
51292
|
+
**kwargs)
|
|
51293
|
+
kvList[-1] = f"{studentGroup['title']}({studentGroup['id']})"
|
|
51294
|
+
if not csvPF:
|
|
51295
|
+
entityActionPerformed(kvList, j, jcount)
|
|
51296
|
+
elif not FJQC.formatJSON:
|
|
51297
|
+
csvPF.WriteRow({'courseId': courseId, 'courseName': course['name'],
|
|
51298
|
+
'studentGroupId': studentGroup['id'], 'studentGroupTitle': studentGroup['title']})
|
|
51299
|
+
else:
|
|
51300
|
+
csvPF.WriteRowNoFilter({'courseId': courseId, 'courseName': course['name'],
|
|
51301
|
+
'JSON': json.dumps(cleanJSON(studentGroup), ensure_ascii=False, sort_keys=True)})
|
|
51302
|
+
except GAPI.notFound as e:
|
|
51303
|
+
entityActionFailedWarning(kvList, str(e), j, jcount)
|
|
51304
|
+
except (GAPI.serviceNotAvailable, GAPI.notImplemented) as e:
|
|
51305
|
+
entityActionFailedExit([Ent.COURSE, courseId], str(e), j, jcount)
|
|
51306
|
+
except (GAPI.forbidden, GAPI.permissionDenied) as e:
|
|
51307
|
+
ClientAPIAccessDeniedExit(str(e))
|
|
51308
|
+
Ind.Decrement()
|
|
51298
51309
|
if csvPF:
|
|
51299
51310
|
csvPF.writeCSVfile('Course Student Groups')
|
|
51300
51311
|
|
|
@@ -1057,6 +1057,7 @@ class GamCLArgs():
|
|
|
1057
1057
|
OB_SPREADSHEET_RANGE_LIST = 'SpreadsheetRangeList'
|
|
1058
1058
|
OB_STATE_NAME_LIST = "StateNameList"
|
|
1059
1059
|
OB_STRING = 'String'
|
|
1060
|
+
OB_STRING_ENTITY = 'StringEntity'
|
|
1060
1061
|
OB_STRING_LIST = 'StringList'
|
|
1061
1062
|
OB_STUDENTGROUP_ID = 'StudentGroupID'
|
|
1062
1063
|
OB_STUDENTGROUP_ID_ENTITY = 'StudentGroupIDEntity'
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
- [API documentation](#api-documentation)
|
|
4
4
|
- [Definitions](#definitions)
|
|
5
5
|
- [Special quoting for course aliases](#special-quoting-for-course-aliases)
|
|
6
|
+
- [Special quoting for lists of titles](#special-quoting-for-lists-of-titles)
|
|
6
7
|
- [Manage student groups](#manage-student-groups)
|
|
7
8
|
- [Display student groups](#display-student-groups)
|
|
8
9
|
- [Display student group counts](#display-student-group-counts)
|
|
@@ -60,6 +61,11 @@ Once you get an email from Google saying that your project has been registered y
|
|
|
60
61
|
<CourseState> ::= active|archived|provisioned|declined|suspended
|
|
61
62
|
<CourseStateList> ::= all|"<CourseState>(,<CourseState>)*"
|
|
62
63
|
|
|
64
|
+
<StringList> ::= "<String>(,<String>)*"
|
|
65
|
+
<StringEntity> ::=
|
|
66
|
+
<StringList> | <FileSelector> | <CSVFileSelector>
|
|
67
|
+
See: https://github.com/GAM-team/GAM/wiki/Collections-of-Items
|
|
68
|
+
|
|
63
69
|
<StudentGroupID> ::= <Number>
|
|
64
70
|
<StudentGroupIDList> ::= "<StudentGroupID>(,<StudentGroupID>)*"
|
|
65
71
|
<StudentGroupEntity> ::=
|
|
@@ -82,6 +88,25 @@ The shell strips the `"` leaving a single argument `'d:Math Class'`; as gam is e
|
|
|
82
88
|
|
|
83
89
|
For multiple aliases you must enter: `gam info courses "'d:Math Class','d:Science Class'"`
|
|
84
90
|
|
|
91
|
+
## Special quoting for lists of titles
|
|
92
|
+
As student group titles can contain spaces, some care must be used when entering `selevct <StringList>`.
|
|
93
|
+
|
|
94
|
+
Suppose you want to create a student group `Advanced Students`. `gam create course-studentgroups course <CourseID> title "Advanced Students"`
|
|
95
|
+
|
|
96
|
+
The shell strips the `"` leaving a single argument `Advanced Math`; gam correctly processes the argument as it is expecting a single title.
|
|
97
|
+
|
|
98
|
+
Suppose you enter the command: `gam create course-studentgroups course <CourseID> select "Advanced Students"`
|
|
99
|
+
|
|
100
|
+
The shell strips the `"` leaving a single argument `Advanced Students`; as gam is expecting a list, it splits the argument on space leaving two items and then tries to process `Advanced` and `Students`, not what you want.
|
|
101
|
+
|
|
102
|
+
You must enter: `gam create course-studentgroups course <CourseID> select "'Advanced Students'"`
|
|
103
|
+
|
|
104
|
+
The shell strips the `"` leaving a single argument `'Advanced Students'`; as gam is expecting a list, it splits the argument on space while honoring the `'` leaving one item `Advanced Students` and correctly processes the item.
|
|
105
|
+
|
|
106
|
+
For multiple titles you can enter either of the following:
|
|
107
|
+
* `gam create course-studentgroups course <CourseID> select "'Advanced Students','Beginner Students'"`
|
|
108
|
+
* `gam create course-studentgroups course <CourseID> title"Advanced Students" title "Beginner Students"`
|
|
109
|
+
|
|
85
110
|
See: [Lists and Collections](Lists-and-Collections)
|
|
86
111
|
|
|
87
112
|
## Manage student groups
|
|
@@ -89,7 +114,7 @@ See: [Lists and Collections](Lists-and-Collections)
|
|
|
89
114
|
```
|
|
90
115
|
gam create course-studentgroups
|
|
91
116
|
(course|class <CourseEntity>)*|([teacher <UserItem>] [student <UserItem>] [states <CourseStateList>])
|
|
92
|
-
title <String>
|
|
117
|
+
((title <String>)|(select <StringEntity))+
|
|
93
118
|
[csv [todrive <ToDriveAttribute>*] [formatjson [quotechar <Character>]]]
|
|
94
119
|
gam update course-studentgroups <CourseID> <StudentGroupID> title <String>
|
|
95
120
|
gam delete course-studentgroups <CourseID> <StudentGroupIDEntity>
|
|
@@ -97,6 +122,9 @@ gam clear course-studentgroups
|
|
|
97
122
|
(course|class <CourseEntity>)*|([teacher <UserItem>] [student <UserItem>] [states <CourseStateList>])
|
|
98
123
|
```
|
|
99
124
|
|
|
125
|
+
When creating student groups, the API does not check for duplicate titles; you can have multiple student grpups
|
|
126
|
+
with the same title; they will have unique `<StudentGroupID>s`.
|
|
127
|
+
|
|
100
128
|
The `update|delete course-studentgroups` commands manage a specific course.
|
|
101
129
|
|
|
102
130
|
By default, the `create|clear course-studentgroups` commands manage student group information about all courses.
|
|
@@ -112,6 +140,34 @@ To manage student group information for courses based on their state, use the fo
|
|
|
112
140
|
By default, all course states are selected.
|
|
113
141
|
* `states <CourseStateList>` - Display courses with any of the specified states.
|
|
114
142
|
|
|
143
|
+
By default, when a student group is created, you will get output like this:
|
|
144
|
+
```
|
|
145
|
+
Course: <CourseID>, Course Student Group: <Title>(<StudentGroupId>), Added
|
|
146
|
+
```
|
|
147
|
+
If you use the `csv` option, you will get output like this:
|
|
148
|
+
```
|
|
149
|
+
courseId,courseName,studentGroupId,studentGroupTitle
|
|
150
|
+
<CourseID>,<CourseName>,<StudentGroupID>,<Title>
|
|
151
|
+
```
|
|
152
|
+
This gives you a record the the student group IDs.
|
|
153
|
+
|
|
154
|
+
### Example
|
|
155
|
+
```
|
|
156
|
+
$ more titles.csv
|
|
157
|
+
title
|
|
158
|
+
Advanced Students
|
|
159
|
+
Middle Students
|
|
160
|
+
Beginner Students
|
|
161
|
+
|
|
162
|
+
$ gam redirect csv ./StudentGroups.csv add coursestudentgroups course <CourseID> select csvfile titles.csv:title csv
|
|
163
|
+
|
|
164
|
+
$ more StudentGroups.csv
|
|
165
|
+
courseId,courseName,studentGroupId,studentGroupTitle
|
|
166
|
+
<CourseID>,<CourseName>,796177544247,Advanced Students
|
|
167
|
+
<CourseID>,<CourseName>,796177718666,Middle Students
|
|
168
|
+
<CourseID>,<CourseName>,796177727901,Beginner Students
|
|
169
|
+
```
|
|
170
|
+
|
|
115
171
|
## Display student groups
|
|
116
172
|
```
|
|
117
173
|
gam print course-studentgroups [todrive <ToDriveAttribute>*]
|
|
@@ -10,6 +10,13 @@ Add the `-s` option to the end of the above commands to suppress creating the `g
|
|
|
10
10
|
|
|
11
11
|
See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation
|
|
12
12
|
|
|
13
|
+
### 7.20.01
|
|
14
|
+
|
|
15
|
+
Added option `showaccesssettings` to `gam [<UserTypeEntity>] print|show chatspaces`. When listing
|
|
16
|
+
Chat Spaces, the Chat API does not return the `accessSettings` field; if you need to see this field,
|
|
17
|
+
add `showaccesssettings` to the command. This requires an additional Chat API call per chat space of type `SPACE`
|
|
18
|
+
to get the `accessSettings` field.
|
|
19
|
+
|
|
13
20
|
### 7.20.00
|
|
14
21
|
|
|
15
22
|
Added initial support for student groups in Google Classroom. This is a work in progress and requires Developer Preview membership.
|
|
@@ -252,7 +252,7 @@ writes the credentials into the file oauth2.txt.
|
|
|
252
252
|
admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt
|
|
253
253
|
admin@server:/Users/admin$ gam version
|
|
254
254
|
WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found
|
|
255
|
-
GAM 7.20.
|
|
255
|
+
GAM 7.20.01 - https://github.com/GAM-team/GAM - pyinstaller
|
|
256
256
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
257
257
|
Python 3.13.7 64-bit final
|
|
258
258
|
MacOS Sequoia 15.6.1 x86_64
|
|
@@ -990,7 +990,7 @@ writes the credentials into the file oauth2.txt.
|
|
|
990
990
|
C:\>del C:\GAMConfig\oauth2.txt
|
|
991
991
|
C:\>gam version
|
|
992
992
|
WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found
|
|
993
|
-
GAM 7.20.
|
|
993
|
+
GAM 7.20.01 - https://github.com/GAM-team/GAM - pythonsource
|
|
994
994
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
995
995
|
Python 3.13.7 64-bit final
|
|
996
996
|
Windows-10-10.0.17134 AMD64
|
|
@@ -320,24 +320,32 @@ By default, Gam displays the information as an indented list of keys and values.
|
|
|
320
320
|
```
|
|
321
321
|
gam <UserTypeEntity> show chatspaces
|
|
322
322
|
[types <ChatSpaceTypeList>]
|
|
323
|
-
[fields <ChatSpaceFieldNameList>]
|
|
323
|
+
[fields <ChatSpaceFieldNameList>] [showaccessssettings]
|
|
324
324
|
[formatjson]
|
|
325
325
|
```
|
|
326
326
|
By default, chat spaces of all types are displayed.
|
|
327
327
|
* `types <ChatSpaceTypeList>` - Display specific types of spaces.
|
|
328
328
|
|
|
329
|
+
When listing Chat Spaces, the Chat API does not return the `accessSettings` field; if you need to see this fieldf,
|
|
330
|
+
add `showaccesssettings` to the command. This requires an additional Chat API call per chat space of type `SPACE`
|
|
331
|
+
to get the `accessSettings` field.
|
|
332
|
+
|
|
329
333
|
By default, Gam displays the information as an indented list of keys and values.
|
|
330
334
|
* `formatjson` - Display the fields in JSON format.
|
|
331
335
|
|
|
332
336
|
```
|
|
333
337
|
gam <UserTypeEntity> print chatspaces [todrive <ToDriveAttribute>*]
|
|
334
338
|
[types <ChatSpaceTypeList>]
|
|
335
|
-
[fields <ChatSpaceFieldNameList>]
|
|
339
|
+
[fields <ChatSpaceFieldNameList>] [showaccessssettings]
|
|
336
340
|
[formatjson [quotechar <Character>]]
|
|
337
341
|
```
|
|
338
342
|
By default, chat spaces of all types are displayed.
|
|
339
343
|
* `types <ChatSpaceTypeList>` - Display specific types of spaces.
|
|
340
344
|
|
|
345
|
+
When listing Chat Spaces, the Chat API does not return the `accessSettings` field; if you need to see this fieldf,
|
|
346
|
+
add `showaccesssettings` to the command. This requires an additional Chat API call per chat space of type `SPACE`
|
|
347
|
+
to get the `accessSettings` field.
|
|
348
|
+
|
|
341
349
|
By default, Gam displays the information as columns of fields; the following option causes the output to be in JSON format,
|
|
342
350
|
* `formatjson` - Display the fields in JSON format.
|
|
343
351
|
|
|
@@ -385,13 +393,17 @@ Only spaces of `<ChatSpaceType>` `space` are displayed; spaces of `<ChatSpaceTyp
|
|
|
385
393
|
gam <UserItem> show chatspaces asadmin
|
|
386
394
|
[query <String>] [querytime<String> <Time>]
|
|
387
395
|
[orderby <ChatSpaceAdminOrderByFieldName> [ascending|descending]]
|
|
388
|
-
[fields <ChatSpaceFieldNameList>]
|
|
396
|
+
[fields <ChatSpaceFieldNameList>] [showaccessssettings]
|
|
389
397
|
[formatjson]
|
|
390
398
|
```
|
|
391
399
|
By default, all chat spaces of type SPACE are displayed.
|
|
392
400
|
* `query <String> [querytime<String> <Time>]` - Display selected chat spaces
|
|
393
401
|
* See: https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search
|
|
394
402
|
|
|
403
|
+
When listing Chat Spaces, the Chat API does not return the `accessSettings` field; if you need to see this fieldf,
|
|
404
|
+
add `showaccesssettings` to the command. This requires an additional Chat API call per chat space of type `SPACE`
|
|
405
|
+
to get the `accessSettings` field.
|
|
406
|
+
|
|
395
407
|
By default, Gam displays the information as an indented list of keys and values.
|
|
396
408
|
* `formatjson` - Display the fields in JSON format.
|
|
397
409
|
|
|
@@ -399,13 +411,17 @@ By default, Gam displays the information as an indented list of keys and values.
|
|
|
399
411
|
gam <UserItem> print chatspaces asadmin [todrive <ToDriveAttribute>*]
|
|
400
412
|
[query <String>] [querytime<String> <Time>]
|
|
401
413
|
[orderby <ChatSpaceAdminOrderByFieldName> [ascending|descending]]
|
|
402
|
-
[fields <ChatSpaceFieldNameList>]
|
|
414
|
+
[fields <ChatSpaceFieldNameList>] [showaccessssettings]
|
|
403
415
|
[formatjson [quotechar <Character>]]
|
|
404
416
|
```
|
|
405
417
|
By default, all chat spaces of type SPACE are displayed.
|
|
406
418
|
* `query <String> [querytime<String> <Time>]` - Display selected chat spaces
|
|
407
419
|
* See: https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search
|
|
408
420
|
|
|
421
|
+
When listing Chat Spaces, the Chat API does not return the `accessSettings` field; if you need to see this fieldf,
|
|
422
|
+
add `showaccesssettings` to the command. This requires an additional Chat API call per chat space of type `SPACE`
|
|
423
|
+
to get the `accessSettings` field.
|
|
424
|
+
|
|
409
425
|
By default, Gam displays the information as columns of fields; the following option causes the output to be in JSON format,
|
|
410
426
|
* `formatjson` - Display the fields in JSON format.
|
|
411
427
|
|
|
@@ -975,8 +991,9 @@ The `quotechar <Character>` option allows you to choose an alternate quote chara
|
|
|
975
991
|
## Bulk Operations
|
|
976
992
|
### Display information about all chat spaces for a collection of users
|
|
977
993
|
```
|
|
978
|
-
gam config auto_batch_min 1 redirect csv ./ChatSpaces.csv multiprocess [todrive <ToDriveAttribute>*] redirect stdout - multiprocess redirect stderr <UserTypeEntity> print
|
|
994
|
+
gam config auto_batch_min 1 redirect csv ./ChatSpaces.csv multiprocess [todrive <ToDriveAttribute>*] redirect stdout - multiprocess redirect stderr <UserTypeEntity> print chatsacesp
|
|
979
995
|
[types <ChatSpaceTypeList>]
|
|
996
|
+
[fields <ChatSpaceFieldNameList>] [showaccessssettings]
|
|
980
997
|
[formatjson [quotechar <Character>]]
|
|
981
998
|
```
|
|
982
999
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Print the current version of Gam with details
|
|
4
4
|
```
|
|
5
5
|
gam version
|
|
6
|
-
GAM 7.20.
|
|
6
|
+
GAM 7.20.01 - https://github.com/GAM-team/GAM - pyinstaller
|
|
7
7
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
8
8
|
Python 3.13.7 64-bit final
|
|
9
9
|
MacOS Sequoia 15.6.1 x86_64
|
|
@@ -15,7 +15,7 @@ Time: 2023-06-02T21:10:00-07:00
|
|
|
15
15
|
Print the current version of Gam with details and time offset information
|
|
16
16
|
```
|
|
17
17
|
gam version timeoffset
|
|
18
|
-
GAM 7.20.
|
|
18
|
+
GAM 7.20.01 - https://github.com/GAM-team/GAM - pyinstaller
|
|
19
19
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
20
20
|
Python 3.13.7 64-bit final
|
|
21
21
|
MacOS Sequoia 15.6.1 x86_64
|
|
@@ -27,7 +27,7 @@ Your system time differs from www.googleapis.com by less than 1 second
|
|
|
27
27
|
Print the current version of Gam with extended details and SSL information
|
|
28
28
|
```
|
|
29
29
|
gam version extended
|
|
30
|
-
GAM 7.20.
|
|
30
|
+
GAM 7.20.01 - https://github.com/GAM-team/GAM - pyinstaller
|
|
31
31
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
32
32
|
Python 3.13.7 64-bit final
|
|
33
33
|
MacOS Sequoia 15.6.1 x86_64
|
|
@@ -64,7 +64,7 @@ MacOS High Sierra 10.13.6 x86_64
|
|
|
64
64
|
Path: /Users/Admin/bin/gam7
|
|
65
65
|
Version Check:
|
|
66
66
|
Current: 5.35.08
|
|
67
|
-
Latest: 7.20.
|
|
67
|
+
Latest: 7.20.01
|
|
68
68
|
echo $?
|
|
69
69
|
1
|
|
70
70
|
```
|
|
@@ -72,7 +72,7 @@ echo $?
|
|
|
72
72
|
Print the current version number without details
|
|
73
73
|
```
|
|
74
74
|
gam version simple
|
|
75
|
-
7.20.
|
|
75
|
+
7.20.01
|
|
76
76
|
```
|
|
77
77
|
In Linux/MacOS you can do:
|
|
78
78
|
```
|
|
@@ -82,7 +82,7 @@ echo $VER
|
|
|
82
82
|
Print the current version of Gam and address of this Wiki
|
|
83
83
|
```
|
|
84
84
|
gam help
|
|
85
|
-
GAM 7.20.
|
|
85
|
+
GAM 7.20.01 - https://github.com/GAM-team/GAM
|
|
86
86
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
87
87
|
Python 3.13.7 64-bit final
|
|
88
88
|
MacOS Sequoia 15.6.1 x86_64
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|