gam7 7.6.14__tar.gz → 7.7.0__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.6.14 → gam7-7.7.0}/PKG-INFO +1 -1
- {gam7-7.6.14 → gam7-7.7.0}/src/GamCommands.txt +0 -13
- {gam7-7.6.14 → gam7-7.7.0}/src/GamUpdate.txt +17 -1
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/__init__.py +26 -59
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/glclargs.py +0 -1
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Administrators.md +27 -7
- {gam7-7.6.14 → gam7-7.7.0}/wiki/GamUpdates.md +8 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +2 -2
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Version-and-Help.md +6 -6
- {gam7-7.6.14 → gam7-7.7.0}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/.github/ISSUE_TEMPLATE.txt +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/.github/actions/decrypt.sh +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/.github/actions/entitlements.plist +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/.github/actions/package_exclusions.txt +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/.github/stale.yml +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/.github/workflows/build.yml +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/.github/workflows/codeql-analysis.yml +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/.github/workflows/get-cacerts.yml +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/.github/workflows/pushwiki.yml +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/.github/workflows/pypi.yml +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/.pre-commit-config.yaml +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/LICENSE +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/README.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/pyproject.toml +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/.gitignore +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/LICENSE +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/cacerts.pem +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/callgam.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/__main__.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/atom/__init__.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/atom/auth.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/atom/client.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/atom/core.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/atom/data.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/atom/http.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/atom/http_core.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/atom/http_interface.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/atom/mock_http.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/atom/mock_http_core.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/atom/mock_service.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/atom/service.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/atom/token_store.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/atom/url.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/cacerts.pem +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/cbcm-v1.1beta1.json +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/contactdelegation-v1.json +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/datastudio-v1.json +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/__init__.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/glaction.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/glapi.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/glcfg.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/glentity.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/glgapi.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/glgdata.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/glglobals.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/glindent.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/glmsgs.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/glskus.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/gluprop.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/glverlibs.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gamlib/yubikey.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gdata/__init__.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gdata/alt/__init__.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gdata/alt/app_engine.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gdata/alt/appengine.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gdata/apps/__init__.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gdata/apps/audit/__init__.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gdata/apps/audit/service.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gdata/apps/contacts/__init__.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gdata/apps/contacts/service.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gdata/apps/service.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gdata/service.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/gdata/urlfetch.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/__init__.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/_auth.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/_helpers.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/channel.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/discovery.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/errors.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/http.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/mimeparse.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/model.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/schema.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/googleapiclient/version.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/iso8601/__init__.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/iso8601/iso8601.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/meet-v2beta.json +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/serviceaccountlookup-v1.json +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam/six.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam-install.sh +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam-setup.bat +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam.exe.manifest +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam.spec +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/gam.wxs +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/license.rtf +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/requirements-dev.txt +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/requirements.txt +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/setup.cfg +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/setup.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/tools/a_atleast_b.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/tools/gen-wix-xml-filelist.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/tools/mkGamRef.py +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/tools/openssl.props +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/src/version_info.txt.in +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/00scratch.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Addresses.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Alert-Center.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Aliases.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Authorization.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/BNF-Syntax.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Basic-Items.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Bulk-Processing.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/CSV-Input-Filtering.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/CSV-Output-Filtering.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/CSV-Special-Characters.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Calendars-Access.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Calendars-Events.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Calendars.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Chat-Bot.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Chrome-AUE-Counts.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Chrome-Installed-Apps.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Chrome-Policies.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Chrome-Printers.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Chrome-Profile-Management.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Chrome-Version-Counts.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Chrome-Version-History.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/ChromeOS-Devices.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Classroom-Courses.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Classroom-Guardians.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Classroom-Invitations.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Classroom-Membership.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Cloud-Channel.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Cloud-Identity-Devices.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Cloud-Identity-Groups.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Cloud-Identity-Policies.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Cloud-Storage.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Collections-of-Items.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Collections-of-Users.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Command-Line-Parsing.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Command-Logging-Progress.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Context-Aware-Access-Levels.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Customer.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Domain-People-Contacts-Profiles.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Domain-SharedContacts-GAL.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Domains-Verification.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Domains.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Downloads-Installs.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Drive-File-Selection.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Drive-Items.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Drive-REST-API-v3.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Email-Audit-Monitor.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Find-File-Owner.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/GAM-Public-Chat-Room.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/GAM-Return-Codes.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/GAM7-on-Android-Devices.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Google-Data-Transfers.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Google-Network-Addresses.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Groups-Membership.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Groups.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/HTTPS-Proxy.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Home.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/How-to-Install-GAM7.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/How-to-Uninstall-GAM7.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/How-to-Update-GAM7.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Inbound-SSO.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Install-GAM-as-Python-Library.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Licenses.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/List-Items.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/List.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Mobile-Devices.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Organizational-Units.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Other-Resources.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Permission-Matches.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Python-Regular-Expressions.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/README.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Rclone.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Reports.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Reseller.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Resources.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/SSL-Root-CA-Certificates.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Schemas.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Scripts.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Send-Email.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Shared-Drives.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Sites.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Tag-Replace.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Todrive.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Unmanaged-Accounts.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Upgrade-Benefits.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Analytics-Admin.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Application-Specific-Passwords.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Backup-Verification-Codes.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Calendars-Access.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Calendars-Events.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Calendars.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Chat.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Classification-Labels.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Classroom-Profile.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Contacts-Delegates.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Contacts.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Deprovision.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Drive-Activity-Settings.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Drive-Cleanup.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Drive-Comments.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Drive-Copy-Move.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Drive-Files-Display.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Drive-Files-Manage.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Drive-Orphans.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Drive-Ownership.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Drive-Permissions.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Drive-Query.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Drive-Revisions.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Drive-Shortcuts.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Drive-Transfer.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Forms.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Gmail-CSE.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Gmail-Delegates.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Gmail-Filters.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Gmail-Forwarding.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Gmail-Labels.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Gmail-Messages-Threads.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Gmail-Profile.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Gmail-S-MIME.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Gmail-Settings.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Group-Membership.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Keep-Notes.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Looker-Studio.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Meet.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-People-Contacts-Profiles.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Photo.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Profile-Photo.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Profile-Sharing.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Shared-Drives.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Signout-Turnoff2SV.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Spreadsheets.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Tasks.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-Tokens.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users-YouTube.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Users.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Vault-Takeout.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/_Sidebar.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/gam.cfg.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-AdminSettingsExamples.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Android-Installation.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-BulkOperations.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-CalendarExamples.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Chat-Bot.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Chrome-Browser-Management.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Chrome-OS-Installation.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Chrome-Policy-Settings.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Cloud-Identity-Groups.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Command-Reference-Calendar-Resources.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Command-Reference-Calendars.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Command-Reference-Definitions.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Command-Reference-Drive.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Command-Reference-Email.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Command-Reference-Group-Attributes.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Command-Reference-Groups.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Command-Reference-Users.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Context-Aware-Access-Levels.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-CreatingClientSecretsFile.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Custom-Schemas.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Data-Transfers.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-DomainVerification.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-ExamplesAccountAuditing.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-ExamplesCSV.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-ExamplesEmailSettings.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-ExamplesOrganizations.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-GAM-Discussion-Group.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-GAM-on-Android-and-Chrome-OS.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-GAM-options-files.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-GAM-with--minimal-GCP-rights.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-GAM3CSVListings.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-GAM3DirectoryCommands.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-GAM3GroupSettings.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-GAM7-FAQ.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Google-Vault---Takeout-Commands.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-GoogleDriveManagement.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Grouping-18-or-Older-Users.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Home.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-How-to-upgrade-from-Standard-GAM.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Inbound-SSO-Settings.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-LicenseExamples.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Managing-Admins.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Managing-CloudPrint-Printers.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Managing-Devices.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Managing-Google-Classroom.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-OAuthKeyManagement.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Printers.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-ResellerCommands.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Running-GAM-on-Google-Compute-Engine-(GCE)-Securely.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-SecurityExamples.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-UnmanagedUsersExamples.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Use-a-Yubikey.md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
- {gam7-7.6.14 → gam7-7.7.0}/wiki/l-_Footer.md +0 -0
|
@@ -3545,19 +3545,6 @@ gam print contacts [todrive <ToDriveAttribute>*] <ContactSelection>
|
|
|
3545
3545
|
[fields <ContactFieldNameList>]
|
|
3546
3546
|
[formatjson [quotechar <Character>]]
|
|
3547
3547
|
|
|
3548
|
-
vgam info gal <ContactEntity>
|
|
3549
|
-
[basic|full]
|
|
3550
|
-
[fields <ContactFieldNameList>]
|
|
3551
|
-
[formatjson]
|
|
3552
|
-
gam show gal <ContactSelection>
|
|
3553
|
-
[basic|full] [orderby <ContactOrderByFieldName> [ascending|descending]]
|
|
3554
|
-
[fields <ContactFieldNameList>]
|
|
3555
|
-
[formatjson]
|
|
3556
|
-
gam print gal [todrive <ToDriveAttribute>*] <ContactSelection>
|
|
3557
|
-
[basic|full] [orderby <ContactOrderByFieldName> [ascending|descending]]
|
|
3558
|
-
[fields <ContactFieldNameList>]
|
|
3559
|
-
[formatjson [quotechar <Character>]]
|
|
3560
|
-
|
|
3561
3548
|
# Domain - People Contacts and Profiles
|
|
3562
3549
|
|
|
3563
3550
|
<PeopleSourceName> ::=
|
|
@@ -1,9 +1,25 @@
|
|
|
1
|
+
7.07.00
|
|
2
|
+
As of mid-October 2024, Google deprecated the API that retrieved the Global Address List.
|
|
3
|
+
|
|
4
|
+
The following commands have been eliminated.
|
|
5
|
+
```
|
|
6
|
+
gam info gal
|
|
7
|
+
gam print gal
|
|
8
|
+
gam show gal
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
These commands are a work-around for `gam print gal`.
|
|
12
|
+
```
|
|
13
|
+
gam config csv_output_row_filter "includeInGlobalAddressList:boolean:true" redirect csv ./UserGAL.csv print users fields name,gal
|
|
14
|
+
gam config csv_output_row_filter "includeInGlobalAddressList:boolean:true" batch_size 25 redirect csv ./GroupGAL.csv print groups fields name,gal
|
|
15
|
+
```
|
|
16
|
+
|
|
1
17
|
7.06.14
|
|
2
18
|
|
|
3
19
|
Updated `gam create|update adminrole` to allow specifying a collection of privileges
|
|
4
20
|
with `privileges select <FileSelector>|<CSVFileSelector>` which makes copying roles much simpler.
|
|
5
21
|
|
|
6
|
-
|
|
22
|
+
Added option `role <RoleItem>` to `gam print|show adminroles` to allow display of information
|
|
7
23
|
for a specific role.
|
|
8
24
|
|
|
9
25
|
7.06.13
|
|
@@ -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.
|
|
28
|
+
__version__ = '7.07.00'
|
|
29
29
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
|
30
30
|
|
|
31
31
|
#pylint: disable=wrong-import-position
|
|
@@ -5655,8 +5655,8 @@ def getGDataUserCredentials(api, user, i, count):
|
|
|
5655
5655
|
handleOAuthTokenError(e, True, True, i, count)
|
|
5656
5656
|
return (userEmail, None)
|
|
5657
5657
|
|
|
5658
|
-
def getContactsObject(
|
|
5659
|
-
contactsObject = initGDataObject(gdata.apps.contacts.service.ContactsService(contactFeed=
|
|
5658
|
+
def getContactsObject():
|
|
5659
|
+
contactsObject = initGDataObject(gdata.apps.contacts.service.ContactsService(contactFeed=True),
|
|
5660
5660
|
API.CONTACTS)
|
|
5661
5661
|
return (GC.Values[GC.DOMAIN], contactsObject)
|
|
5662
5662
|
|
|
@@ -19996,7 +19996,9 @@ def dedupEmailAddressMatches(contactsManager, emailMatchType, fields):
|
|
|
19996
19996
|
fields[CONTACT_EMAILS] = savedAddresses
|
|
19997
19997
|
return updateRequired
|
|
19998
19998
|
|
|
19999
|
-
|
|
19999
|
+
# gam create contact <ContactAttribute>+
|
|
20000
|
+
# [(csv [todrive <ToDriveAttribute>*] (addcsvdata <FieldName> <String>)*))| returnidonly]
|
|
20001
|
+
def doCreateDomainContact():
|
|
20000
20002
|
entityType = Ent.DOMAIN
|
|
20001
20003
|
contactsManager = ContactsManager()
|
|
20002
20004
|
parameters = {'csvPF': None, 'titles': ['Domain', CONTACT_ID], 'addCSVData': {}, 'returnIdOnly': False}
|
|
@@ -20007,7 +20009,7 @@ def _createContact():
|
|
|
20007
20009
|
csvPF.AddTitles(sorted(addCSVData.keys()))
|
|
20008
20010
|
returnIdOnly = parameters['returnIdOnly']
|
|
20009
20011
|
contactEntry = contactsManager.FieldsToContact(fields)
|
|
20010
|
-
user, contactsObject = getContactsObject(
|
|
20012
|
+
user, contactsObject = getContactsObject()
|
|
20011
20013
|
try:
|
|
20012
20014
|
contact = callGData(contactsObject, 'CreateContact',
|
|
20013
20015
|
throwErrors=[GDATA.BAD_REQUEST, GDATA.SERVICE_NOT_APPLICABLE, GDATA.FORBIDDEN],
|
|
@@ -20032,11 +20034,6 @@ def _createContact():
|
|
|
20032
20034
|
if csvPF:
|
|
20033
20035
|
csvPF.writeCSVfile('Contacts')
|
|
20034
20036
|
|
|
20035
|
-
# gam create contact <ContactAttribute>+
|
|
20036
|
-
# [(csv [todrive <ToDriveAttribute>*] (addcsvdata <FieldName> <String>)*))| returnidonly]
|
|
20037
|
-
def doCreateDomainContact():
|
|
20038
|
-
_createContact()
|
|
20039
|
-
|
|
20040
20037
|
def _clearUpdateContacts(updateContacts):
|
|
20041
20038
|
entityType = Ent.DOMAIN
|
|
20042
20039
|
contactsManager = ContactsManager()
|
|
@@ -20058,7 +20055,7 @@ def _clearUpdateContacts(updateContacts):
|
|
|
20058
20055
|
unknownArgumentExit()
|
|
20059
20056
|
if not contactClear['emailClearPattern']:
|
|
20060
20057
|
missingArgumentExit('emailclearpattern')
|
|
20061
|
-
user, contactsObject = getContactsObject(
|
|
20058
|
+
user, contactsObject = getContactsObject()
|
|
20062
20059
|
if queriedContacts:
|
|
20063
20060
|
entityList = queryContacts(contactsObject, contactQuery)
|
|
20064
20061
|
if entityList is None:
|
|
@@ -20129,7 +20126,8 @@ def doClearDomainContacts():
|
|
|
20129
20126
|
def doUpdateDomainContacts():
|
|
20130
20127
|
_clearUpdateContacts(True)
|
|
20131
20128
|
|
|
20132
|
-
|
|
20129
|
+
# gam dedup contacts <ContactEntity>|<ContactSelection> [matchType [<Boolean>]]
|
|
20130
|
+
def doDedupDomainContacts():
|
|
20133
20131
|
entityType = Ent.DOMAIN
|
|
20134
20132
|
contactsManager = ContactsManager()
|
|
20135
20133
|
contactQuery = _initContactQueryAttributes()
|
|
@@ -20140,7 +20138,7 @@ def _dedupContacts():
|
|
|
20140
20138
|
emailMatchType = getBoolean()
|
|
20141
20139
|
else:
|
|
20142
20140
|
_getContactQueryAttributes(contactQuery, myarg, -1, False)
|
|
20143
|
-
user, contactsObject = getContactsObject(
|
|
20141
|
+
user, contactsObject = getContactsObject()
|
|
20144
20142
|
contacts = queryContacts(contactsObject, contactQuery)
|
|
20145
20143
|
if contacts is None:
|
|
20146
20144
|
return
|
|
@@ -20180,15 +20178,12 @@ def _dedupContacts():
|
|
|
20180
20178
|
break
|
|
20181
20179
|
Ind.Decrement()
|
|
20182
20180
|
|
|
20183
|
-
# gam
|
|
20184
|
-
def
|
|
20185
|
-
_dedupContacts()
|
|
20186
|
-
|
|
20187
|
-
def _deleteContacts():
|
|
20181
|
+
# gam delete contacts <ContactEntity>|<ContactSelection>
|
|
20182
|
+
def doDeleteDomainContacts():
|
|
20188
20183
|
entityType = Ent.DOMAIN
|
|
20189
20184
|
contactsManager = ContactsManager()
|
|
20190
20185
|
entityList, contactQuery, queriedContacts = _getContactEntityList(-1, False)
|
|
20191
|
-
user, contactsObject = getContactsObject(
|
|
20186
|
+
user, contactsObject = getContactsObject()
|
|
20192
20187
|
if queriedContacts:
|
|
20193
20188
|
entityList = queryContacts(contactsObject, contactQuery)
|
|
20194
20189
|
if entityList is None:
|
|
@@ -20228,10 +20223,6 @@ def _deleteContacts():
|
|
|
20228
20223
|
break
|
|
20229
20224
|
Ind.Decrement()
|
|
20230
20225
|
|
|
20231
|
-
# gam delete contacts <ContactEntity>|<ContactSelection>
|
|
20232
|
-
def doDeleteDomainContacts():
|
|
20233
|
-
_deleteContacts()
|
|
20234
|
-
|
|
20235
20226
|
CONTACT_TIME_OBJECTS = {CONTACT_UPDATED}
|
|
20236
20227
|
CONTACT_FIELDS_WITH_CRS_NLS = {CONTACT_NOTES, CONTACT_BILLING_INFORMATION}
|
|
20237
20228
|
|
|
@@ -20299,7 +20290,10 @@ def _getContactFieldsList(contactsManager, displayFieldsList):
|
|
|
20299
20290
|
else:
|
|
20300
20291
|
invalidChoiceExit(field, contactsManager.CONTACT_ARGUMENT_TO_PROPERTY_MAP, True)
|
|
20301
20292
|
|
|
20302
|
-
|
|
20293
|
+
# gam info contacts <ContactEntity>
|
|
20294
|
+
# [basic|full]
|
|
20295
|
+
# [fields <ContactFieldNameList>] [formatjson]
|
|
20296
|
+
def doInfoDomainContacts():
|
|
20303
20297
|
entityType = Ent.DOMAIN
|
|
20304
20298
|
contactsManager = ContactsManager()
|
|
20305
20299
|
entityList = getEntityList(Cmd.OB_CONTACT_ENTITY)
|
|
@@ -20314,7 +20308,7 @@ def _infoContacts(contactFeed):
|
|
|
20314
20308
|
_getContactFieldsList(contactsManager, displayFieldsList)
|
|
20315
20309
|
else:
|
|
20316
20310
|
FJQC.GetFormatJSON(myarg)
|
|
20317
|
-
user, contactsObject = getContactsObject(
|
|
20311
|
+
user, contactsObject = getContactsObject()
|
|
20318
20312
|
j = 0
|
|
20319
20313
|
jcount = len(entityList)
|
|
20320
20314
|
if not FJQC.formatJSON:
|
|
@@ -20342,19 +20336,13 @@ def _infoContacts(contactFeed):
|
|
|
20342
20336
|
break
|
|
20343
20337
|
Ind.Decrement()
|
|
20344
20338
|
|
|
20345
|
-
# gam
|
|
20346
|
-
# [basic|full]
|
|
20347
|
-
# [fields <ContactFieldNameList>] [formatjson]
|
|
20348
|
-
|
|
20349
|
-
|
|
20350
|
-
|
|
20351
|
-
# gam info gal <ContactEntity>
|
|
20352
|
-
# [basic|full]
|
|
20339
|
+
# gam print contacts [todrive <ToDriveAttribute>*] <ContactSelection>
|
|
20340
|
+
# [basic|full|countsonly] [showdeleted] [orderby <ContactOrderByFieldName> [ascending|descending]]
|
|
20341
|
+
# [fields <ContactFieldNameList>] [formatjson [quotechar <Character>]]
|
|
20342
|
+
# gam show contacts <ContactSelection>
|
|
20343
|
+
# [basic|full|countsonly] [showdeleted] [orderby <ContactOrderByFieldName> [ascending|descending]]
|
|
20353
20344
|
# [fields <ContactFieldNameList>] [formatjson]
|
|
20354
|
-
def
|
|
20355
|
-
_infoContacts(False)
|
|
20356
|
-
|
|
20357
|
-
def _printShowContacts(contactFeed):
|
|
20345
|
+
def doPrintShowDomainContacts():
|
|
20358
20346
|
entityType = Ent.DOMAIN
|
|
20359
20347
|
entityTypeName = Ent.Singular(entityType)
|
|
20360
20348
|
contactsManager = ContactsManager()
|
|
@@ -20380,7 +20368,7 @@ def _printShowContacts(contactFeed):
|
|
|
20380
20368
|
pass
|
|
20381
20369
|
else:
|
|
20382
20370
|
FJQC.GetFormatJSONQuoteChar(myarg, True)
|
|
20383
|
-
user, contactsObject = getContactsObject(
|
|
20371
|
+
user, contactsObject = getContactsObject()
|
|
20384
20372
|
contacts = queryContacts(contactsObject, contactQuery)
|
|
20385
20373
|
if countsOnly:
|
|
20386
20374
|
jcount = countLocalContactSelects(contactsManager, contacts, contactQuery)
|
|
@@ -20466,24 +20454,6 @@ def _printShowContacts(contactFeed):
|
|
|
20466
20454
|
if csvPF:
|
|
20467
20455
|
csvPF.writeCSVfile(CSVTitle)
|
|
20468
20456
|
|
|
20469
|
-
# gam print contacts [todrive <ToDriveAttribute>*] <ContactSelection>
|
|
20470
|
-
# [basic|full|countsonly] [showdeleted] [orderby <ContactOrderByFieldName> [ascending|descending]]
|
|
20471
|
-
# [fields <ContactFieldNameList>] [formatjson [quotechar <Character>]]
|
|
20472
|
-
# gam show contacts <ContactSelection>
|
|
20473
|
-
# [basic|full|countsonly] [showdeleted] [orderby <ContactOrderByFieldName> [ascending|descending]]
|
|
20474
|
-
# [fields <ContactFieldNameList>] [formatjson]
|
|
20475
|
-
def doPrintShowDomainContacts():
|
|
20476
|
-
_printShowContacts(True)
|
|
20477
|
-
|
|
20478
|
-
# gam print gal [todrive <ToDriveAttribute>*] <ContactSelection>
|
|
20479
|
-
# [basic|full] [orderby <ContactOrderByFieldName> [ascending|descending]]
|
|
20480
|
-
# [fields <ContactFieldNameList>] [formatjson [quotechar <Character>]]
|
|
20481
|
-
# gam show gal <ContactSelection>
|
|
20482
|
-
# [basic|full|countsonly] [orderby <ContactOrderByFieldName> [ascending|descending]]
|
|
20483
|
-
# [fields <ContactFieldNameList>] [formatjson]
|
|
20484
|
-
def doPrintShowGAL():
|
|
20485
|
-
_printShowContacts(False)
|
|
20486
|
-
|
|
20487
20457
|
# Prople commands utilities
|
|
20488
20458
|
#
|
|
20489
20459
|
def normalizePeopleResourceName(resourceName):
|
|
@@ -75645,7 +75615,6 @@ MAIN_COMMANDS_WITH_OBJECTS = {
|
|
|
75645
75615
|
Cmd.ARG_DRIVEFILEACL: doInfoDriveFileACLs,
|
|
75646
75616
|
Cmd.ARG_DRIVELABEL: doInfoDriveLabels,
|
|
75647
75617
|
Cmd.ARG_INSTANCE: doInfoInstance,
|
|
75648
|
-
Cmd.ARG_GAL: doInfoGAL,
|
|
75649
75618
|
Cmd.ARG_GROUP: doInfoGroups,
|
|
75650
75619
|
Cmd.ARG_GROUPMEMBERS: doInfoGroupMembers,
|
|
75651
75620
|
Cmd.ARG_INBOUNDSSOASSIGNMENT: doInfoInboundSSOAssignment,
|
|
@@ -75740,7 +75709,6 @@ MAIN_COMMANDS_WITH_OBJECTS = {
|
|
|
75740
75709
|
Cmd.ARG_DRIVELABEL: doPrintShowDriveLabels,
|
|
75741
75710
|
Cmd.ARG_DRIVELABELPERMISSION: doPrintShowDriveLabelPermissions,
|
|
75742
75711
|
Cmd.ARG_FEATURE: doPrintShowFeatures,
|
|
75743
|
-
Cmd.ARG_GAL: doPrintShowGAL,
|
|
75744
75712
|
Cmd.ARG_GROUP: doPrintGroups,
|
|
75745
75713
|
Cmd.ARG_GROUPMEMBERS: doPrintGroupMembers,
|
|
75746
75714
|
Cmd.ARG_GROUPTREE: doPrintShowGroupTree,
|
|
@@ -75858,7 +75826,6 @@ MAIN_COMMANDS_WITH_OBJECTS = {
|
|
|
75858
75826
|
Cmd.ARG_DRIVELABEL: doPrintShowDriveLabels,
|
|
75859
75827
|
Cmd.ARG_DRIVELABELPERMISSION: doPrintShowDriveLabelPermissions,
|
|
75860
75828
|
Cmd.ARG_FEATURE: doPrintShowFeatures,
|
|
75861
|
-
Cmd.ARG_GAL: doPrintShowGAL,
|
|
75862
75829
|
Cmd.ARG_GROUPMEMBERS: doShowGroupMembers,
|
|
75863
75830
|
Cmd.ARG_GROUPTREE: doPrintShowGroupTree,
|
|
75864
75831
|
Cmd.ARG_GUARDIAN: doPrintShowGuardians,
|
|
@@ -616,7 +616,6 @@ class GamCLArgs():
|
|
|
616
616
|
ARG_FORWARDS = 'forwards'
|
|
617
617
|
ARG_FORWARDINGADDRESS = 'forwardingaddress'
|
|
618
618
|
ARG_FORWARDINGADDRESSES = 'forwardingaddresses'
|
|
619
|
-
ARG_GAL = 'gal'
|
|
620
619
|
ARG_GCPFOLDER = 'gcpfolder'
|
|
621
620
|
ARG_GCPSERVICEACCOUNT = 'gcpserviceaccount'
|
|
622
621
|
ARG_GMAIL = 'gmail'
|
|
@@ -7,13 +7,14 @@
|
|
|
7
7
|
- [Create an administrator](#create-an-administrator)
|
|
8
8
|
- [Delete an administrator](#delete-an-administrator)
|
|
9
9
|
- [Display administrators](#display-administrators)
|
|
10
|
+
- [Copy privileges from one role to a new role](#copy-privileges-from-one-role-to-a-new-role)
|
|
10
11
|
- [Copy roles from one administrator to another](#copy-roles-from-one-administrator-to-another)
|
|
11
12
|
|
|
12
13
|
## API documentation
|
|
13
14
|
* [About Administrator roles](https://support.google.com/a/answer/33325?ref_topic=4514341)
|
|
14
15
|
* [Directory API - Privileges](https://developers.google.com/admin-sdk/directory/reference/rest/v1/privileges)
|
|
15
16
|
* [Directory API - Roles](https://developers.google.com/admin-sdk/directory/reference/rest/v1/roles)
|
|
16
|
-
* [Directory API - Role
|
|
17
|
+
* [Directory API - Role Assignments](https://developers.google.com/admin-sdk/directory/reference/rest/v1/roleAssignments)
|
|
17
18
|
|
|
18
19
|
## Definitions
|
|
19
20
|
```
|
|
@@ -36,7 +37,7 @@ gam print privileges [todrive <ToDriveAttribute>*]
|
|
|
36
37
|
gam show privileges
|
|
37
38
|
```
|
|
38
39
|
|
|
39
|
-
Here is the output from `gam show privileges`; use this to find `<Privilege>`.
|
|
40
|
+
Here is the output from `gam show privileges`; use this to find a specific `<Privilege>`.
|
|
40
41
|
```
|
|
41
42
|
Show 111 Privileges
|
|
42
43
|
Privilege: REPORTS_ACCESS (1/111)
|
|
@@ -1381,24 +1382,33 @@ Show 111 Privileges
|
|
|
1381
1382
|
|
|
1382
1383
|
## Manage administrative roles
|
|
1383
1384
|
```
|
|
1384
|
-
gam create adminrole <String>
|
|
1385
|
-
|
|
1385
|
+
gam create adminrole <String> [description <String>]
|
|
1386
|
+
privileges all|all_ou|<PrivilegeList>|(select <FileSelector>|<CSVFileSelector>>)
|
|
1387
|
+
gam update adminrole <RoleItem> [name <String>] [description <String>]
|
|
1388
|
+
[privileges all|all_ou|<PrivilegeList>|(select <FileSelector>|<CSVFileSelector>>)]
|
|
1386
1389
|
gam delete adminrole <RoleItem>
|
|
1387
1390
|
```
|
|
1388
1391
|
* `privileges all` - All defined privileges
|
|
1389
1392
|
* `privileges all_ou` - All defined privileges than can be scoped to an OU
|
|
1390
1393
|
* `privileges <PrivilegeList>` - A specific list of privileges
|
|
1394
|
+
* `privileges select <FileSelector>|<CSVFileSelector>>` - A collection of privileges from a flat or CSV file
|
|
1391
1395
|
|
|
1392
1396
|
## Display administrative roles
|
|
1393
1397
|
```
|
|
1394
1398
|
gam info adminrole <RoleItem> [privileges]
|
|
1399
|
+
```
|
|
1400
|
+
* `privileges` - Display privileges associated with role
|
|
1401
|
+
```
|
|
1395
1402
|
gam print adminroles|roles [todrive <ToDriveAttribute>*]
|
|
1396
|
-
[privileges] [oneitemperrow]
|
|
1397
|
-
gam show adminroles|roles
|
|
1403
|
+
[role <RoleItem>] [privileges] [oneitemperrow]
|
|
1404
|
+
gam show adminroles|roles
|
|
1405
|
+
[role <RoleItem>] [privileges]
|
|
1398
1406
|
```
|
|
1407
|
+
By default, all roles are displayed, use `role <RoleItem>` to display a specific role.
|
|
1408
|
+
|
|
1399
1409
|
* `privileges` - Display privileges associated with each role
|
|
1400
1410
|
|
|
1401
|
-
By default, all privileges for a role are shown on one row as a repeating item.
|
|
1411
|
+
By default, with `print`, all privileges for a role are shown on one row as a repeating item.
|
|
1402
1412
|
When `oneitemperrow` is specified, each privilege is output on a separate row/line with the other role fields.
|
|
1403
1413
|
|
|
1404
1414
|
## Create an administrator
|
|
@@ -1438,6 +1448,16 @@ options to limit the display:
|
|
|
1438
1448
|
By default, all role privileges for an admin are shown on one row as a repeating item.
|
|
1439
1449
|
When `oneitemperrow` is specified, each role privilege is output on a separate row/line with the other admin fields.
|
|
1440
1450
|
|
|
1451
|
+
## Copy privileges from one role to a new role
|
|
1452
|
+
Get privileges for existing role; replace Role Name with actual role name
|
|
1453
|
+
```
|
|
1454
|
+
gam redirect csv ./RolePrivileges.csv print adminrole role 'Role Name' privileges oneitemperrow
|
|
1455
|
+
```
|
|
1456
|
+
Create a new role with those privileges
|
|
1457
|
+
```
|
|
1458
|
+
gam create adminrole "New Role Name" privileges select csvfile RolePrivileges.csv:privilegeName
|
|
1459
|
+
```
|
|
1460
|
+
|
|
1441
1461
|
## Copy roles from one administrator to another
|
|
1442
1462
|
Get roles for current admin.
|
|
1443
1463
|
```
|
|
@@ -10,6 +10,14 @@ 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.06.14
|
|
14
|
+
|
|
15
|
+
Updated `create|update adminrole` to allow specifying a collection of privileges
|
|
16
|
+
with `privileges select <FileSelector>|<CSVFileSelector>` which makes copying roles much simpler.
|
|
17
|
+
|
|
18
|
+
Added option `role <RoleItem>` to `gam print|show adminroles` to allow display of information
|
|
19
|
+
for a specific role.
|
|
20
|
+
|
|
13
21
|
### 7.06.13
|
|
14
22
|
|
|
15
23
|
Updated `gam print group-members ... recursive` and `gam print cigroup-members ... recursive`
|
|
@@ -251,7 +251,7 @@ writes the credentials into the file oauth2.txt.
|
|
|
251
251
|
admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt
|
|
252
252
|
admin@server:/Users/admin$ gam version
|
|
253
253
|
WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found
|
|
254
|
-
GAM 7.06.
|
|
254
|
+
GAM 7.06.14 - https://github.com/GAM-team/GAM - pyinstaller
|
|
255
255
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
256
256
|
Python 3.13.3 64-bit final
|
|
257
257
|
MacOS Sequoia 15.4.1 x86_64
|
|
@@ -989,7 +989,7 @@ writes the credentials into the file oauth2.txt.
|
|
|
989
989
|
C:\>del C:\GAMConfig\oauth2.txt
|
|
990
990
|
C:\>gam version
|
|
991
991
|
WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found
|
|
992
|
-
GAM 7.06.
|
|
992
|
+
GAM 7.06.14 - https://github.com/GAM-team/GAM - pythonsource
|
|
993
993
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
994
994
|
Python 3.13.3 64-bit final
|
|
995
995
|
Windows-10-10.0.17134 AMD64
|
|
@@ -4,7 +4,7 @@ k
|
|
|
4
4
|
Print the current version of Gam with details
|
|
5
5
|
```
|
|
6
6
|
gam version
|
|
7
|
-
GAM 7.06.
|
|
7
|
+
GAM 7.06.14 - https://github.com/GAM-team/GAM - pyinstaller
|
|
8
8
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
9
9
|
Python 3.13.3 64-bit final
|
|
10
10
|
MacOS Sequoia 15.4.1 x86_64
|
|
@@ -16,7 +16,7 @@ Time: 2023-06-02T21:10:00-07:00
|
|
|
16
16
|
Print the current version of Gam with details and time offset information
|
|
17
17
|
```
|
|
18
18
|
gam version timeoffset
|
|
19
|
-
GAM 7.06.
|
|
19
|
+
GAM 7.06.14 - https://github.com/GAM-team/GAM - pyinstaller
|
|
20
20
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
21
21
|
Python 3.13.3 64-bit final
|
|
22
22
|
MacOS Sequoia 15.4.1 x86_64
|
|
@@ -28,7 +28,7 @@ Your system time differs from www.googleapis.com by less than 1 second
|
|
|
28
28
|
Print the current version of Gam with extended details and SSL information
|
|
29
29
|
```
|
|
30
30
|
gam version extended
|
|
31
|
-
GAM 7.06.
|
|
31
|
+
GAM 7.06.14 - https://github.com/GAM-team/GAM - pyinstaller
|
|
32
32
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
33
33
|
Python 3.13.3 64-bit final
|
|
34
34
|
MacOS Sequoia 15.4.1 x86_64
|
|
@@ -65,7 +65,7 @@ MacOS High Sierra 10.13.6 x86_64
|
|
|
65
65
|
Path: /Users/Admin/bin/gam7
|
|
66
66
|
Version Check:
|
|
67
67
|
Current: 5.35.08
|
|
68
|
-
Latest: 7.06.
|
|
68
|
+
Latest: 7.06.14
|
|
69
69
|
echo $?
|
|
70
70
|
1
|
|
71
71
|
```
|
|
@@ -73,7 +73,7 @@ echo $?
|
|
|
73
73
|
Print the current version number without details
|
|
74
74
|
```
|
|
75
75
|
gam version simple
|
|
76
|
-
7.06.
|
|
76
|
+
7.06.14
|
|
77
77
|
```
|
|
78
78
|
In Linux/MacOS you can do:
|
|
79
79
|
```
|
|
@@ -83,7 +83,7 @@ echo $VER
|
|
|
83
83
|
Print the current version of Gam and address of this Wiki
|
|
84
84
|
```
|
|
85
85
|
gam help
|
|
86
|
-
GAM 7.06.
|
|
86
|
+
GAM 7.06.14 - https://github.com/GAM-team/GAM
|
|
87
87
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
88
88
|
Python 3.13.3 64-bit final
|
|
89
89
|
MacOS Sequoia 15.4.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
|