gam7 7.8.0__tar.gz → 7.8.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.
- {gam7-7.8.0 → gam7-7.8.2}/PKG-INFO +1 -1
- {gam7-7.8.0 → gam7-7.8.2}/src/GamCommands.txt +5 -2
- {gam7-7.8.0 → gam7-7.8.2}/src/GamUpdate.txt +24 -1
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/__init__.py +64 -32
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/glapi.py +4 -3
- {gam7-7.8.0 → gam7-7.8.2}/wiki/GamUpdates.md +36 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +2 -2
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Shared-Drives.md +99 -70
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Shared-Drives.md +66 -19
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Version-and-Help.md +6 -6
- {gam7-7.8.0 → gam7-7.8.2}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/.github/ISSUE_TEMPLATE.txt +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/.github/actions/decrypt.sh +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/.github/actions/entitlements.plist +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/.github/actions/package_exclusions.txt +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/.github/stale.yml +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/.github/workflows/build.yml +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/.github/workflows/codeql-analysis.yml +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/.github/workflows/get-cacerts.yml +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/.github/workflows/pushwiki.yml +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/.github/workflows/pypi.yml +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/.pre-commit-config.yaml +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/LICENSE +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/README.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/pyproject.toml +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/.gitignore +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/LICENSE +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/cacerts.pem +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/callgam.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/__main__.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/atom/__init__.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/atom/auth.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/atom/client.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/atom/core.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/atom/data.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/atom/http.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/atom/http_core.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/atom/http_interface.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/atom/mock_http.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/atom/mock_http_core.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/atom/mock_service.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/atom/service.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/atom/token_store.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/atom/url.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/cacerts.pem +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/cbcm-v1.1beta1.json +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/contactdelegation-v1.json +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/datastudio-v1.json +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/__init__.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/glaction.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/glcfg.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/glclargs.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/glentity.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/glgapi.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/glgdata.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/glglobals.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/glindent.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/glmsgs.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/glskus.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/gluprop.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/glverlibs.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gamlib/yubikey.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gdata/__init__.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gdata/alt/__init__.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gdata/alt/app_engine.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gdata/alt/appengine.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gdata/apps/__init__.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gdata/apps/audit/__init__.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gdata/apps/audit/service.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gdata/apps/contacts/__init__.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gdata/apps/contacts/service.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gdata/apps/service.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gdata/service.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/gdata/urlfetch.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/__init__.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/_auth.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/_helpers.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/channel.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/discovery.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/errors.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/http.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/mimeparse.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/model.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/schema.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/googleapiclient/version.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/iso8601/__init__.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/iso8601/iso8601.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/meet-v2beta.json +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/serviceaccountlookup-v1.json +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam/six.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam-install.sh +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam-setup.bat +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam.exe.manifest +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam.spec +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/gam.wxs +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/license.rtf +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/requirements-dev.txt +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/requirements.txt +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/setup.cfg +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/setup.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/tools/a_atleast_b.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/tools/gen-wix-xml-filelist.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/tools/mkGamRef.py +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/tools/openssl.props +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/src/version_info.txt.in +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/00scratch.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Addresses.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Administrators.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Alert-Center.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Aliases.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Authorization.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/BNF-Syntax.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Basic-Items.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Bulk-Processing.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/CSV-Input-Filtering.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/CSV-Output-Filtering.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/CSV-Special-Characters.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Calendars-Access.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Calendars-Events.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Calendars.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Chat-Bot.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Chrome-AUE-Counts.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Chrome-Installed-Apps.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Chrome-Policies.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Chrome-Printers.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Chrome-Profile-Management.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Chrome-Version-Counts.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Chrome-Version-History.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/ChromeOS-Devices.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Classroom-Courses.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Classroom-Guardians.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Classroom-Invitations.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Classroom-Membership.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Cloud-Channel.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Cloud-Identity-Devices.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Cloud-Identity-Groups.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Cloud-Identity-Policies.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Cloud-Storage.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Collections-of-Items.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Collections-of-Users.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Command-Line-Parsing.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Command-Logging-Progress.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Context-Aware-Access-Levels.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Customer.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Domain-People-Contacts-Profiles.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Domain-SharedContacts.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Domains-Verification.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Domains.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Downloads-Installs.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Drive-File-Selection.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Drive-Items.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Drive-REST-API-v3.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Email-Audit-Monitor.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Find-File-Owner.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/GAM-Public-Chat-Room.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/GAM-Return-Codes.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/GAM7-on-Android-Devices.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Google-Data-Transfers.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Google-Network-Addresses.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Groups-Membership.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Groups.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/HTTPS-Proxy.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Home.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/How-to-Install-GAM7.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/How-to-Uninstall-GAM7.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/How-to-Update-GAM7.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Inbound-SSO.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Install-GAM-as-Python-Library.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Licenses.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/List-Items.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/List.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Mobile-Devices.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Organizational-Units.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Other-Resources.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Permission-Matches.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Python-Regular-Expressions.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/README.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Rclone.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Reports.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Reseller.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Resources.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/SSL-Root-CA-Certificates.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Schemas.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Scripts.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Send-Email.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Sites.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Tag-Replace.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Todrive.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Unmanaged-Accounts.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Upgrade-Benefits.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Analytics-Admin.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Application-Specific-Passwords.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Backup-Verification-Codes.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Calendars-Access.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Calendars-Events.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Calendars.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Chat.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Classification-Labels.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Classroom-Profile.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Contacts-Delegates.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Contacts.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Deprovision.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Drive-Activity-Settings.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Drive-Cleanup.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Drive-Comments.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Drive-Copy-Move.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Drive-Files-Display.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Drive-Files-Manage.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Drive-Orphans.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Drive-Ownership.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Drive-Permissions.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Drive-Query.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Drive-Revisions.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Drive-Shortcuts.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Drive-Transfer.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Forms.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Gmail-CSE.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Gmail-Delegates.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Gmail-Filters.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Gmail-Forwarding.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Gmail-Labels.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Gmail-Messages-Threads.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Gmail-Profile.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Gmail-S-MIME.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Gmail-Settings.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Group-Membership.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Keep-Notes.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Looker-Studio.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Meet.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-People-Contacts-Profiles.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Photo.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Profile-Photo.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Profile-Sharing.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Signout-Turnoff2SV.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Spreadsheets.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Tasks.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-Tokens.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users-YouTube.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Users.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Vault-Takeout.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/_Sidebar.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/gam.cfg.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-AdminSettingsExamples.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Android-Installation.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-BulkOperations.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-CalendarExamples.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Chat-Bot.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Chrome-Browser-Management.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Chrome-OS-Installation.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Chrome-Policy-Settings.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Cloud-Identity-Groups.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Command-Reference-Calendar-Resources.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Command-Reference-Calendars.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Command-Reference-Definitions.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Command-Reference-Drive.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Command-Reference-Email.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Command-Reference-Group-Attributes.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Command-Reference-Groups.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Command-Reference-Users.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Context-Aware-Access-Levels.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-CreatingClientSecretsFile.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Custom-Schemas.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Data-Transfers.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-DomainVerification.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-ExamplesAccountAuditing.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-ExamplesCSV.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-ExamplesEmailSettings.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-ExamplesOrganizations.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-GAM-Discussion-Group.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-GAM-on-Android-and-Chrome-OS.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-GAM-options-files.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-GAM-with--minimal-GCP-rights.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-GAM3CSVListings.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-GAM3DirectoryCommands.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-GAM3GroupSettings.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-GAM7-FAQ.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Google-Vault---Takeout-Commands.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-GoogleDriveManagement.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Grouping-18-or-Older-Users.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Home.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-How-to-upgrade-from-Standard-GAM.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Inbound-SSO-Settings.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-LicenseExamples.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Managing-Admins.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Managing-CloudPrint-Printers.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Managing-Devices.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Managing-Google-Classroom.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-OAuthKeyManagement.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Printers.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-ResellerCommands.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Running-GAM-on-Google-Compute-Engine-(GCE)-Securely.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-SecurityExamples.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-UnmanagedUsersExamples.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Use-a-Yubikey.md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
- {gam7-7.8.0 → gam7-7.8.2}/wiki/l-_Footer.md +0 -0
|
@@ -4820,7 +4820,8 @@ gam show shareddrives
|
|
|
4820
4820
|
[formatjson] [noorgunits [<Boolean>]]
|
|
4821
4821
|
|
|
4822
4822
|
gam print shareddriveorganizers [todrive <ToDriveAttribute>*]
|
|
4823
|
-
[shareddriveadminquery|query <QuerySharedDrive>
|
|
4823
|
+
[(shareddriveadminquery|query <QuerySharedDrive>) |
|
|
4824
|
+
(shareddrives|teamdrives (<SharedDriveIDList>|(select <FileSelector>|<CSVFileSelector>)))]
|
|
4824
4825
|
[orgunit|org|ou <OrgUnitPath>]
|
|
4825
4826
|
[matchname <REMatchPattern>]
|
|
4826
4827
|
[domainlist <DomainList>]
|
|
@@ -8337,7 +8338,9 @@ gam <UserTypeEntity> show shareddrives
|
|
|
8337
8338
|
[formatjson]
|
|
8338
8339
|
|
|
8339
8340
|
gam <UserTypeEntity> print shareddriveorganizers [todrive <ToDriveAttribute>*]
|
|
8340
|
-
[adminaccess|asadmin]
|
|
8341
|
+
[adminaccess|asadmin]
|
|
8342
|
+
[(shareddriveadminquery|query <QuerySharedDrive>) |
|
|
8343
|
+
(shareddrives|teamdrives (<SharedDriveIDList>|(select <FileSelector>|<CSVFileSelector>)))]
|
|
8341
8344
|
[orgunit|org|ou <OrgUnitPath>]
|
|
8342
8345
|
[matchname <REMatchPattern>]
|
|
8343
8346
|
[domainlist <DomainList>]
|
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
7.08.02
|
|
2
|
+
|
|
3
|
+
Updated the defaults in `gam print shareddriveorganizers` to match the most common use case, not the script.
|
|
4
|
+
|
|
5
|
+
* `domainlist` - The workspace primary domain
|
|
6
|
+
* `includetypes` - user
|
|
7
|
+
* `oneorganizer` - True
|
|
8
|
+
* `shownoorganizerdrives` - True
|
|
9
|
+
* `includefileorganizers` - False
|
|
10
|
+
|
|
11
|
+
To select organizers from any domain, use: `domainlist ""`
|
|
12
|
+
|
|
13
|
+
These commands produce the same result.
|
|
14
|
+
```
|
|
15
|
+
gam redirect csv ./TeamDriveOrganizers.csv print shareddriveorganizers domainlist mydomain.com includetypes user oneorganizer shownoorganizerdrives
|
|
16
|
+
gam redirect csv ./TeamDriveOrganizers.csv print shareddriveorganizers
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
7.08.01
|
|
20
|
+
|
|
21
|
+
Added option `shareddrives (<SharedDriveIDList>|(select <FileSelector>|<CSVFileSelector>))` to
|
|
22
|
+
`gam print shareddriveorganizers` that displays organizers for a specific list of Shared Drive IDs.
|
|
23
|
+
|
|
1
24
|
7.08.00
|
|
2
25
|
|
|
3
26
|
Added the following command that can be used instead of the `GetTeamDriveOrganizers.py` script.
|
|
@@ -16,7 +39,7 @@ gam [<UserTypeEntity>] print shareddriveorganizers [todrive <ToDriveAttribute>*]
|
|
|
16
39
|
```
|
|
17
40
|
The command defaults match the script defaults:
|
|
18
41
|
* `domainlist` - All domains
|
|
19
|
-
* `includetypes` - user,
|
|
42
|
+
* `includetypes` - user,group
|
|
20
43
|
* `oneorganizer` - False
|
|
21
44
|
* `shownoorganizerdrives` - True
|
|
22
45
|
* `includefileorganizers` - False
|
|
@@ -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.08.
|
|
28
|
+
__version__ = '7.08.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
|
|
@@ -12338,7 +12338,7 @@ def checkServiceAccount(users):
|
|
|
12338
12338
|
invalidOauth2serviceJsonExit(f'Authentication{auth_error}')
|
|
12339
12339
|
_getSvcAcctData() # needed to read in GM.OAUTH2SERVICE_JSON_DATA
|
|
12340
12340
|
if GM.Globals[GM.SVCACCT_SCOPES_DEFINED] and API.IAM not in GM.Globals[GM.SVCACCT_SCOPES]:
|
|
12341
|
-
GM.Globals[GM.SVCACCT_SCOPES][API.IAM] = [API.
|
|
12341
|
+
GM.Globals[GM.SVCACCT_SCOPES][API.IAM] = [API.IAM_SCOPE]
|
|
12342
12342
|
key_type = GM.Globals[GM.OAUTH2SERVICE_JSON_DATA].get('key_type', 'default')
|
|
12343
12343
|
if key_type == 'default':
|
|
12344
12344
|
printMessage(Msg.SERVICE_ACCOUNT_CHECK_PRIVATE_KEY_AGE)
|
|
@@ -66053,7 +66053,9 @@ def doPrintShowSharedDriveACLs():
|
|
|
66053
66053
|
PRINT_ORGANIZER_TYPES = {'group', 'user'}
|
|
66054
66054
|
|
|
66055
66055
|
# gam [<UserTypeEntity>] print shareddriveorganizers [todrive <ToDriveAttribute>*]
|
|
66056
|
-
# [adminaccess|asadmin]
|
|
66056
|
+
# [adminaccess|asadmin]
|
|
66057
|
+
# [(shareddriveadminquery|query <QuerySharedDrive>) |
|
|
66058
|
+
# (shareddrives|teamdrives (<SharedDriveIDList>|(select <FileSelector>|<CSVFileSelector>)))]
|
|
66057
66059
|
# [matchname <REMatchPattern>] [orgunit|org|ou <OrgUnitPath>]
|
|
66058
66060
|
# [domainlist <DomainList>]
|
|
66059
66061
|
# [includetypes user|group]
|
|
@@ -66068,16 +66070,24 @@ def printSharedDriveOrganizers(users, useDomainAdminAccess=False):
|
|
|
66068
66070
|
includeTypes = set()
|
|
66069
66071
|
showNoOrganizerDrives = SHOW_NO_PERMISSIONS_DRIVES_CHOICE_MAP['false']
|
|
66070
66072
|
fieldsList = ['role', 'type', 'emailAddress']
|
|
66071
|
-
cd = orgUnitId = query = matchPattern = None
|
|
66072
|
-
domainList = []
|
|
66073
|
-
oneOrganizer =
|
|
66073
|
+
cd = entityList = orgUnitId = query = matchPattern = None
|
|
66074
|
+
domainList = [GC.Values[GC.DOMAIN]]
|
|
66075
|
+
oneOrganizer = True
|
|
66074
66076
|
while Cmd.ArgumentsRemaining():
|
|
66075
66077
|
myarg = getArgument()
|
|
66076
66078
|
if csvPF and myarg == 'todrive':
|
|
66077
66079
|
csvPF.GetTodriveParameters()
|
|
66078
66080
|
elif myarg == 'delimiter':
|
|
66079
66081
|
delimiter = getCharacter()
|
|
66082
|
+
elif myarg in {'shareddrive', 'shareddrives', 'teamdrive', 'teamdrives'}:
|
|
66083
|
+
sharedDriveArg = myarg
|
|
66084
|
+
itemList = getString(Cmd.OB_SHAREDDRIVE_ID_LIST)
|
|
66085
|
+
if itemList != 'select':
|
|
66086
|
+
entityList = itemList.replace(',', ' ').split()
|
|
66087
|
+
else:
|
|
66088
|
+
entityList = getEntityList(Cmd.OB_SHAREDDRIVE_ID_LIST)
|
|
66080
66089
|
elif myarg in {'teamdriveadminquery', 'shareddriveadminquery', 'query'}:
|
|
66090
|
+
queryArg = myarg
|
|
66081
66091
|
queryLocation = Cmd.Location()
|
|
66082
66092
|
query = getString(Cmd.OB_QUERY, minLen=0) or None
|
|
66083
66093
|
if query:
|
|
@@ -66094,7 +66104,7 @@ def printSharedDriveOrganizers(users, useDomainAdminAccess=False):
|
|
|
66094
66104
|
elif myarg in ADMIN_ACCESS_OPTIONS:
|
|
66095
66105
|
useDomainAdminAccess = True
|
|
66096
66106
|
elif myarg == 'domainlist':
|
|
66097
|
-
domainList = set(getString(Cmd.OB_DOMAIN_NAME_LIST).replace(',', ' ').lower().split())
|
|
66107
|
+
domainList = set(getString(Cmd.OB_DOMAIN_NAME_LIST, minLen=0).replace(',', ' ').lower().split())
|
|
66098
66108
|
elif myarg == 'includetypes':
|
|
66099
66109
|
for itype in getString(Cmd.OB_ORGANIZER_TYPE_LIST).lower().replace(',', ' ').split():
|
|
66100
66110
|
if itype in PRINT_ORGANIZER_TYPES:
|
|
@@ -66110,16 +66120,20 @@ def printSharedDriveOrganizers(users, useDomainAdminAccess=False):
|
|
|
66110
66120
|
roles.add('fileOrganizer')
|
|
66111
66121
|
else:
|
|
66112
66122
|
unknownArgumentExit()
|
|
66113
|
-
if query
|
|
66114
|
-
|
|
66115
|
-
|
|
66123
|
+
if query:
|
|
66124
|
+
if not useDomainAdminAccess:
|
|
66125
|
+
Cmd.SetLocation(queryLocation-1)
|
|
66126
|
+
usageErrorExit(Msg.ONLY_ADMINISTRATORS_CAN_PERFORM_SHARED_DRIVE_QUERIES)
|
|
66127
|
+
if entityList:
|
|
66128
|
+
Cmd.SetLocation(queryLocation-1)
|
|
66129
|
+
usageErrorExit(Msg.ARE_MUTUALLY_EXCLUSIVE.format(queryArg, sharedDriveArg))
|
|
66116
66130
|
if orgUnitId is not None:
|
|
66117
66131
|
if not useDomainAdminAccess:
|
|
66118
66132
|
Cmd.SetLocation(orgLocation-1)
|
|
66119
66133
|
usageErrorExit(Msg.ONLY_ADMINISTRATORS_CAN_SPECIFY_SHARED_DRIVE_ORGUNIT)
|
|
66120
66134
|
csvPF.AddTitles(['orgUnit', 'orgUnitId'])
|
|
66121
66135
|
if not includeTypes:
|
|
66122
|
-
includeTypes =
|
|
66136
|
+
includeTypes = set(['user'])
|
|
66123
66137
|
fields = getItemFieldsFromFieldsList('permissions', fieldsList, True)
|
|
66124
66138
|
i, count, users = getEntityArgument(users)
|
|
66125
66139
|
for user in users:
|
|
@@ -66127,28 +66141,46 @@ def printSharedDriveOrganizers(users, useDomainAdminAccess=False):
|
|
|
66127
66141
|
user, drive = buildGAPIServiceObject(API.DRIVE3, user, i, count)
|
|
66128
66142
|
if not drive:
|
|
66129
66143
|
continue
|
|
66130
|
-
if
|
|
66131
|
-
|
|
66132
|
-
|
|
66144
|
+
if entityList is None:
|
|
66145
|
+
if useDomainAdminAccess:
|
|
66146
|
+
printGettingAllAccountEntities(Ent.SHAREDDRIVE, query)
|
|
66147
|
+
pageMessage = getPageMessage()
|
|
66148
|
+
else:
|
|
66149
|
+
printGettingAllEntityItemsForWhom(Ent.SHAREDDRIVE, user, i, count, query)
|
|
66150
|
+
pageMessage = getPageMessageForWhom()
|
|
66151
|
+
try:
|
|
66152
|
+
feed = callGAPIpages(drive.drives(), 'list', 'drives',
|
|
66153
|
+
pageMessage=pageMessage,
|
|
66154
|
+
throwReasons=GAPI.DRIVE_USER_THROW_REASONS+[GAPI.INVALID_QUERY, GAPI.INVALID,
|
|
66155
|
+
GAPI.QUERY_REQUIRES_ADMIN_CREDENTIALS,
|
|
66156
|
+
GAPI.NO_LIST_TEAMDRIVES_ADMINISTRATOR_PRIVILEGE,
|
|
66157
|
+
GAPI.FILE_NOT_FOUND],
|
|
66158
|
+
q=query, useDomainAdminAccess=useDomainAdminAccess,
|
|
66159
|
+
fields='nextPageToken,drives(id,name,createdTime,orgUnitId)', pageSize=100)
|
|
66160
|
+
except (GAPI.invalidQuery, GAPI.invalid, GAPI.queryRequiresAdminCredentials,
|
|
66161
|
+
GAPI.noListTeamDrivesAdministratorPrivilege, GAPI.fileNotFound) as e:
|
|
66162
|
+
entityActionFailedWarning([Ent.USER, user, Ent.SHAREDDRIVE, None], str(e), i, count)
|
|
66163
|
+
continue
|
|
66164
|
+
except (GAPI.serviceNotAvailable, GAPI.authError, GAPI.domainPolicy) as e:
|
|
66165
|
+
userDriveServiceNotEnabledWarning(user, str(e), i, count)
|
|
66166
|
+
continue
|
|
66133
66167
|
else:
|
|
66134
|
-
|
|
66135
|
-
|
|
66136
|
-
|
|
66137
|
-
|
|
66138
|
-
|
|
66139
|
-
|
|
66140
|
-
|
|
66141
|
-
|
|
66142
|
-
|
|
66143
|
-
|
|
66144
|
-
|
|
66145
|
-
|
|
66146
|
-
|
|
66147
|
-
|
|
66148
|
-
|
|
66149
|
-
|
|
66150
|
-
userDriveServiceNotEnabledWarning(user, str(e), i, count)
|
|
66151
|
-
continue
|
|
66168
|
+
feed = []
|
|
66169
|
+
jcount = len(entityList)
|
|
66170
|
+
j = 0
|
|
66171
|
+
for driveId in entityList:
|
|
66172
|
+
j +=1
|
|
66173
|
+
try:
|
|
66174
|
+
feed.append(callGAPI(drive.drives(), 'get',
|
|
66175
|
+
throwReasons=GAPI.DRIVE_USER_THROW_REASONS+[GAPI.NOT_FOUND],
|
|
66176
|
+
useDomainAdminAccess=useDomainAdminAccess,
|
|
66177
|
+
driveId=driveId, fields='id,name,createdTime,orgUnitId'))
|
|
66178
|
+
except (GAPI.fileNotFound, GAPI.notFound) as e:
|
|
66179
|
+
entityActionNotPerformedWarning([Ent.USER, user, Ent.SHAREDDRIVE_ID, driveId], str(e), j, jcount)
|
|
66180
|
+
continue
|
|
66181
|
+
except (GAPI.serviceNotAvailable, GAPI.authError, GAPI.domainPolicy) as e:
|
|
66182
|
+
userDriveServiceNotEnabledWarning(user, str(e), i, count)
|
|
66183
|
+
break
|
|
66152
66184
|
matchFeed = []
|
|
66153
66185
|
jcount = len(feed)
|
|
66154
66186
|
j = 0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
|
|
3
|
-
# Copyright (C)
|
|
3
|
+
# Copyright (C) 2025 Ross Scroggs All Rights Reserved.
|
|
4
4
|
#
|
|
5
5
|
# All Rights Reserved.
|
|
6
6
|
#
|
|
@@ -596,7 +596,7 @@ _SVCACCT_SCOPES = [
|
|
|
596
596
|
{'name': 'Cloud Identity Devices API',
|
|
597
597
|
'api': CLOUDIDENTITY_DEVICES,
|
|
598
598
|
'subscopes': READONLY,
|
|
599
|
-
'scope': 'https://www.googleapis.com/auth/cloud-identity'},
|
|
599
|
+
'scope': 'https://www.googleapis.com/auth/cloud-identity.devices'},
|
|
600
600
|
# {'name': 'Cloud Identity User Invitations API',
|
|
601
601
|
# 'api': CLOUDIDENTITY_USERINVITATIONS,
|
|
602
602
|
# 'subscopes': READONLY,
|
|
@@ -647,8 +647,9 @@ _SVCACCT_SCOPES = [
|
|
|
647
647
|
'scope': 'https://www.googleapis.com/auth/gmail.settings.sharing'},
|
|
648
648
|
{'name': 'Identity and Access Management API',
|
|
649
649
|
'api': IAM,
|
|
650
|
+
'offByDefault': True,
|
|
650
651
|
'subscopes': [],
|
|
651
|
-
'scope':
|
|
652
|
+
'scope': IAM_SCOPE},
|
|
652
653
|
{'name': 'Keep API',
|
|
653
654
|
'api': KEEP,
|
|
654
655
|
'subscopes': READONLY,
|
|
@@ -10,6 +10,42 @@ 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.08.01
|
|
14
|
+
|
|
15
|
+
Added option `shareddrives (<SharedDriveIDList>|(select <FileSelector>|<CSVFileSelector>))` to
|
|
16
|
+
`gam print shareddriveorganizers` that displays organizers for a specific list of Shared Drive IDs.
|
|
17
|
+
|
|
18
|
+
See: https://github.com/GAM-team/GAM/wiki/Shared-Drives#display-shared-drive-organizers
|
|
19
|
+
|
|
20
|
+
### 7.08.00
|
|
21
|
+
|
|
22
|
+
Added the following command that can be used instead of the `GetTeamDriveOrganizers.py` script.
|
|
23
|
+
|
|
24
|
+
gam [<UserTypeEntity>] print shareddriveorganizers [todrive <ToDriveAttribute>*]
|
|
25
|
+
[adminaccessasadmin] [shareddriveadminquery|query <QuerySharedDrive>]
|
|
26
|
+
[orgunit|org|ou <OrgUnitPath>]
|
|
27
|
+
[matchname <REMatchPattern>]
|
|
28
|
+
[domainlist <DomainList>]
|
|
29
|
+
[includetypes <OrganizerTypeList>]
|
|
30
|
+
[oneorganizer [<Boolean>]]
|
|
31
|
+
[shownorganizerdrives [false|true|only]]
|
|
32
|
+
[includefileorganizers [<Boolean>]]
|
|
33
|
+
[delimiter <Character>]
|
|
34
|
+
```
|
|
35
|
+
See: https://github.com/GAM-team/GAM/wiki/Shared-Drives#display-shared-drive-organizers
|
|
36
|
+
|
|
37
|
+
The command defaults match the script defaults:
|
|
38
|
+
* `domainlist` - All domains
|
|
39
|
+
* `includetypes` - user,group
|
|
40
|
+
* `oneorganizer` - False
|
|
41
|
+
* `shownoorganizerdrives` - True
|
|
42
|
+
* `includefileorganizers` - False
|
|
43
|
+
|
|
44
|
+
For example, to get a single user organizer from your domain for all Shared Drives including no organizer drives:
|
|
45
|
+
```
|
|
46
|
+
gam redirect csv ./TeamDriveOrganizers.csv print shareddriveorganizers domainlist mydomain.com includetypes user oneorganizer shownoorganizerdrives
|
|
47
|
+
```
|
|
48
|
+
|
|
13
49
|
### 7.07.17
|
|
14
50
|
|
|
15
51
|
Added option `oneuserperrow` to `gam print devices` to have each of a
|
|
@@ -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.
|
|
254
|
+
GAM 7.08.01 - 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.5 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.
|
|
992
|
+
GAM 7.08.01 - 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
|