mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-04 21:01:36 +00:00
Compare commits
19 Commits
v7.14.03
...
20250725.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7b708bfeea | ||
|
|
fedb49ca9d | ||
|
|
87b4917fb0 | ||
|
|
5a9486c08a | ||
|
|
e7074cb0bc | ||
|
|
f894e5ffd7 | ||
|
|
5d1379e830 | ||
|
|
aa1b373245 | ||
|
|
1bed2383ff | ||
|
|
332d6c0761 | ||
|
|
597bbe2db9 | ||
|
|
fcb50e1e93 | ||
|
|
048d88c7a0 | ||
|
|
bd4208607b | ||
|
|
7b510075e6 | ||
|
|
882d7b5833 | ||
|
|
d4f5495909 | ||
|
|
b132e789f7 | ||
|
|
701824d984 |
9
.github/workflows/build.yml
vendored
9
.github/workflows/build.yml
vendored
@@ -292,10 +292,10 @@ jobs:
|
|||||||
if: matrix.goal == 'build' && steps.cache-python-ssl.outputs.cache-hit != 'true'
|
if: matrix.goal == 'build' && steps.cache-python-ssl.outputs.cache-hit != 'true'
|
||||||
run: |
|
run: |
|
||||||
cd "${OPENSSL_SOURCE_PATH}"
|
cd "${OPENSSL_SOURCE_PATH}"
|
||||||
if ([ "$RUNNER_OS" == "Windows" ] && [ "$RUNNER_ARCH" == "ARM64" ]); then
|
#if ([ "$RUNNER_OS" == "Windows" ] && [ "$RUNNER_ARCH" == "ARM64" ]); then
|
||||||
# https://github.com/openssl/openssl/issues/26239
|
# https://github.com/openssl/openssl/issues/26239
|
||||||
export CFLAGS=-DNO_INTERLOCKEDOR64
|
export CFLAGS=-DNO_INTERLOCKEDOR64
|
||||||
fi
|
#fi
|
||||||
# --libdir=lib is needed so Python can find OpenSSL libraries
|
# --libdir=lib is needed so Python can find OpenSSL libraries
|
||||||
"${PERL}" ./Configure --libdir=lib --prefix="${OPENSSL_INSTALL_PATH}" $OPENSSL_CONFIG_OPTS
|
"${PERL}" ./Configure --libdir=lib --prefix="${OPENSSL_INSTALL_PATH}" $OPENSSL_CONFIG_OPTS
|
||||||
|
|
||||||
@@ -462,7 +462,7 @@ jobs:
|
|||||||
curl -O -L "$latest_crypt_whl"
|
curl -O -L "$latest_crypt_whl"
|
||||||
"$PYTHON" -m pip install cryptography*.whl
|
"$PYTHON" -m pip install cryptography*.whl
|
||||||
|
|
||||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
#- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||||
|
|
||||||
# - name: Compile cryptography from source (no legacy)
|
# - name: Compile cryptography from source (no legacy)
|
||||||
# if: runner.os != 'Windows' || runner.arch != 'ARM64'
|
# if: runner.os != 'Windows' || runner.arch != 'ARM64'
|
||||||
@@ -473,8 +473,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "before anything..."
|
echo "before anything..."
|
||||||
"$PYTHON" -m pip list
|
"$PYTHON" -m pip list
|
||||||
"$PYTHON" -m pip install --upgrade -r requirements.txt
|
"$PYTHON" -m pip install --upgrade ..[yubikey]
|
||||||
echo "after requirements..."
|
|
||||||
"$PYTHON" -m pip list
|
"$PYTHON" -m pip list
|
||||||
#"$PYTHON" -m pip install --force-reinstall --no-deps --upgrade cryptography
|
#"$PYTHON" -m pip install --force-reinstall --no-deps --upgrade cryptography
|
||||||
echo "after everything..."
|
echo "after everything..."
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ authors = [
|
|||||||
{ name="Jay Lee", email="jay0lee@gmail.com" },
|
{ name="Jay Lee", email="jay0lee@gmail.com" },
|
||||||
{ name="Ross Scroggs", email="Ross.Scroggs@gmail.com" },
|
{ name="Ross Scroggs", email="Ross.Scroggs@gmail.com" },
|
||||||
]
|
]
|
||||||
# The following deps and optional deps should be edited to match: setup.cfg, requirements.txt
|
|
||||||
# notice that yubikey-manager remains optional further down since it is less command and adds
|
# notice that yubikey-manager remains optional further down since it is less command and adds
|
||||||
#significant compile dependencies.
|
#significant compile dependencies.
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
|||||||
@@ -1,3 +1,25 @@
|
|||||||
|
7.15.00
|
||||||
|
|
||||||
|
Updated `gam print shareddriveorganizers` to make `shownoorganizerdrives` default to `True`
|
||||||
|
as documented; it was defaulting to `False`.
|
||||||
|
|
||||||
|
Cleaned up code for processing Python dictionary structures; this should have no noticable effect.
|
||||||
|
|
||||||
|
7.14.04
|
||||||
|
|
||||||
|
Fixed bug in `gam print|show cigroups cimember <UserItem>` that generated the following error:
|
||||||
|
```
|
||||||
|
ERROR: Cloud Identity Group: groups/-, Print Failed: Error(4013): Insufficient permissions to retrieve memberships.
|
||||||
|
```
|
||||||
|
|
||||||
|
Updated `gam <UserTypeEntity> update user suspended off` and `gam <UserTypeEntity> unsuspend users`
|
||||||
|
to handle the following error that occurs when trying to unsuspend a user that has been suspended for abuse.
|
||||||
|
```
|
||||||
|
ERROR: 412: adminCannotUnsuspend - Cannot restore a user suspended for abuse.
|
||||||
|
```
|
||||||
|
|
||||||
|
* See: https://support.google.com/a/answer/1110339
|
||||||
|
|
||||||
7.14.03
|
7.14.03
|
||||||
|
|
||||||
Fixed bug in `gam print cigroup-members includederivedmembership` that caused a trap.
|
Fixed bug in `gam print cigroup-members includederivedmembership` that caused a trap.
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -23,6 +23,7 @@
|
|||||||
ABORTED = 'aborted'
|
ABORTED = 'aborted'
|
||||||
ABUSIVE_CONTENT_RESTRICTION = 'abusiveContentRestriction'
|
ABUSIVE_CONTENT_RESTRICTION = 'abusiveContentRestriction'
|
||||||
ACCESS_NOT_CONFIGURED = 'accessNotConfigured'
|
ACCESS_NOT_CONFIGURED = 'accessNotConfigured'
|
||||||
|
ADMIN_CANNOT_UNSUSPEND = 'adminCannotUnsuspend'
|
||||||
ALREADY_EXISTS = 'alreadyExists'
|
ALREADY_EXISTS = 'alreadyExists'
|
||||||
APPLY_LABEL_FORBIDDEN = 'applyLabelForbidden'
|
APPLY_LABEL_FORBIDDEN = 'applyLabelForbidden'
|
||||||
AUTH_ERROR = 'authError'
|
AUTH_ERROR = 'authError'
|
||||||
@@ -368,6 +369,8 @@ class abusiveContentRestriction(Exception):
|
|||||||
pass
|
pass
|
||||||
class accessNotConfigured(Exception):
|
class accessNotConfigured(Exception):
|
||||||
pass
|
pass
|
||||||
|
class adminCannotUnsuspend(Exception):
|
||||||
|
pass
|
||||||
class alreadyExists(Exception):
|
class alreadyExists(Exception):
|
||||||
pass
|
pass
|
||||||
class applyLabelForbidden(Exception):
|
class applyLabelForbidden(Exception):
|
||||||
@@ -689,6 +692,7 @@ REASON_EXCEPTION_MAP = {
|
|||||||
ABORTED: aborted,
|
ABORTED: aborted,
|
||||||
ABUSIVE_CONTENT_RESTRICTION: abusiveContentRestriction,
|
ABUSIVE_CONTENT_RESTRICTION: abusiveContentRestriction,
|
||||||
ACCESS_NOT_CONFIGURED: accessNotConfigured,
|
ACCESS_NOT_CONFIGURED: accessNotConfigured,
|
||||||
|
ADMIN_CANNOT_UNSUSPEND: adminCannotUnsuspend,
|
||||||
ALREADY_EXISTS: alreadyExists,
|
ALREADY_EXISTS: alreadyExists,
|
||||||
APPLY_LABEL_FORBIDDEN: applyLabelForbidden,
|
APPLY_LABEL_FORBIDDEN: applyLabelForbidden,
|
||||||
AUTH_ERROR: authError,
|
AUTH_ERROR: authError,
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
chardet>=5.2.0
|
|
||||||
cryptography>=44.0.2
|
|
||||||
distro; sys_platform=='linux'
|
|
||||||
filelock>=3.18.0
|
|
||||||
google-api-python-client>=2.167.0
|
|
||||||
google-auth-httplib2>=0.2.0
|
|
||||||
google-auth-oauthlib>=1.2.2
|
|
||||||
google-auth>=2.39.0
|
|
||||||
httplib2>=0.22.0
|
|
||||||
lxml>=5.4.0
|
|
||||||
passlib>=1.7.4
|
|
||||||
pathvalidate>=3.2.3
|
|
||||||
python-dateutil
|
|
||||||
yubikey-manager>=5.6.1
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
[metadata]
|
|
||||||
name = GAM for Google Workspace
|
|
||||||
version = attr: gam__version__
|
|
||||||
description = Command line management for Google Workspaces
|
|
||||||
long_description = file: readme.md
|
|
||||||
long_description_content_type = text/markdown
|
|
||||||
url = https://github.com/GAM-team/GAM
|
|
||||||
author = GAM Team
|
|
||||||
author_email = google-apps-manager@googlegroups.com
|
|
||||||
license = Apache
|
|
||||||
license_files = LICENSE
|
|
||||||
keywords = google, oauth2, gsuite, google-apps, google-admin-sdk, google-drive, google-cloud, google-calendar, gam, google-api, oauth2-client, google-workspace
|
|
||||||
classifiers =
|
|
||||||
Programming Language :: Python :: 3
|
|
||||||
Programming Language :: Python :: 3 :: Only
|
|
||||||
Programming Language :: Python :: 3.9
|
|
||||||
Programming Language :: Python :: 3.10
|
|
||||||
Programming Language :: Python :: 3.11
|
|
||||||
Programming Language :: Python :: 3.12
|
|
||||||
Programming Language :: Python :: 3.13
|
|
||||||
License :: OSI Approved :: Apache License
|
|
||||||
|
|
||||||
[options]
|
|
||||||
packages = find:
|
|
||||||
python_requires = >= 3.9
|
|
||||||
# The following files should be edited to match: pyproject.toml, requirements.txt
|
|
||||||
install_requires =
|
|
||||||
chardet >= 5.2.0
|
|
||||||
cryptography >= 44.0.2
|
|
||||||
distro; sys_platform == 'linux'
|
|
||||||
filelock >= 3.18.0
|
|
||||||
google-api-python-client >= 2.167.0
|
|
||||||
google-auth-httplib2 >= 0.2.0
|
|
||||||
google-auth-oauthlib >= 1.2.2
|
|
||||||
google-auth >= 2.39.0
|
|
||||||
httplib2 >= 0.22.0
|
|
||||||
lxml >= 5.4.0
|
|
||||||
passlib >= 1.7.4
|
|
||||||
pathvalidate >= 3.2.3
|
|
||||||
python-dateutil
|
|
||||||
yubikey-manager >= 5.6.1
|
|
||||||
|
|
||||||
[options.package_data]
|
|
||||||
* = *.pem
|
|
||||||
|
|
||||||
# used during pip install .[test]
|
|
||||||
[options.extras_require]
|
|
||||||
test = pre-commit
|
|
||||||
|
|
||||||
[options.entry_points]
|
|
||||||
console_scripts =
|
|
||||||
gam = gam.__main__:main
|
|
||||||
|
|
||||||
[bdist_wheel]
|
|
||||||
universal = True
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
from setuptools import setup
|
|
||||||
|
|
||||||
setup()
|
|
||||||
@@ -10,6 +10,21 @@ Add the `-s` option to the end of the above commands to suppress creating the `g
|
|||||||
|
|
||||||
See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation
|
See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation
|
||||||
|
|
||||||
|
### 7.14.04
|
||||||
|
|
||||||
|
Fixed bug in `gam print|show cigroups cimember <UserItem>` that generated the following error:
|
||||||
|
```
|
||||||
|
ERROR: Cloud Identity Group: groups/-, Print Failed: Error(4013): Insufficient permissions to retrieve memberships.
|
||||||
|
```
|
||||||
|
|
||||||
|
Updated `gam <UserTypeEntity> update user suspended off` and `gam <UserTypeEntity> unsuspend users`
|
||||||
|
to handle the following error that occurs when trying to unsuspend a user that has been suspended for abuse.
|
||||||
|
```
|
||||||
|
ERROR: 412: adminCannotUnsuspend - Cannot restore a user suspended for abuse.
|
||||||
|
```
|
||||||
|
|
||||||
|
* See: https://support.google.com/a/answer/1110339
|
||||||
|
|
||||||
### 7.14.03
|
### 7.14.03
|
||||||
|
|
||||||
Fixed bug in `gam print cigroup-members includederivedmembership` that caused a trap.
|
Fixed bug in `gam print cigroup-members includederivedmembership` that caused a trap.
|
||||||
|
|||||||
@@ -251,7 +251,7 @@ writes the credentials into the file oauth2.txt.
|
|||||||
admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt
|
admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt
|
||||||
admin@server:/Users/admin$ gam version
|
admin@server:/Users/admin$ gam version
|
||||||
WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found
|
WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found
|
||||||
GAM 7.14.03 - https://github.com/GAM-team/GAM - pyinstaller
|
GAM 7.14.04 - https://github.com/GAM-team/GAM - pyinstaller
|
||||||
GAM Team <google-apps-manager@googlegroups.com>
|
GAM Team <google-apps-manager@googlegroups.com>
|
||||||
Python 3.13.5 64-bit final
|
Python 3.13.5 64-bit final
|
||||||
MacOS Sequoia 15.5 x86_64
|
MacOS Sequoia 15.5 x86_64
|
||||||
@@ -989,7 +989,7 @@ writes the credentials into the file oauth2.txt.
|
|||||||
C:\>del C:\GAMConfig\oauth2.txt
|
C:\>del C:\GAMConfig\oauth2.txt
|
||||||
C:\>gam version
|
C:\>gam version
|
||||||
WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found
|
WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found
|
||||||
GAM 7.14.03 - https://github.com/GAM-team/GAM - pythonsource
|
GAM 7.14.04 - https://github.com/GAM-team/GAM - pythonsource
|
||||||
GAM Team <google-apps-manager@googlegroups.com>
|
GAM Team <google-apps-manager@googlegroups.com>
|
||||||
Python 3.13.5 64-bit final
|
Python 3.13.5 64-bit final
|
||||||
Windows-10-10.0.17134 AMD64
|
Windows-10-10.0.17134 AMD64
|
||||||
|
|||||||
@@ -1,20 +1,14 @@
|
|||||||
# Install GAM as Python Library
|
# Install GAM as Python Library
|
||||||
|
|
||||||
Thanks to Jay Lee for showing me how to do this.
|
|
||||||
|
|
||||||
On Windows, you need to install Git to use the pip command.
|
|
||||||
* See: https://pythoninoffice.com/python-pip-install-from-github/
|
|
||||||
|
|
||||||
Scroll down to Install Git
|
|
||||||
|
|
||||||
You can install GAM as a Python library with pip.
|
You can install GAM as a Python library with pip.
|
||||||
```
|
```
|
||||||
pip install git+https://github.com/GAM-team/GAM.git#subdirectory=src
|
pip install gam7
|
||||||
```
|
```
|
||||||
|
|
||||||
Or as a PEP 508 Requirement Specifier, e.g. in requirements.txt file:
|
Or as a PEP 508 Requirement Specifier, e.g. in requirements.txt file:
|
||||||
```
|
```
|
||||||
gam-for-google-workspace @ git+https://github.com/GAM-team/GAM.git#subdirectory=src
|
gam7
|
||||||
```
|
```
|
||||||
|
|
||||||
Or a pyproject.toml file:
|
Or a pyproject.toml file:
|
||||||
@@ -23,13 +17,13 @@ Or a pyproject.toml file:
|
|||||||
name = "your-project"
|
name = "your-project"
|
||||||
# ...
|
# ...
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gam-for-google-workspace @ git+https://github.com/GAM-team/GAM.git#subdirectory=src"
|
"gam7"
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
Target a specific revision or tag:
|
Target a specific version:
|
||||||
```
|
```
|
||||||
gam-for-google-workspace @ git+https://github.com/GAM-team/GAM.git@v7.12.01#subdirectory=src
|
gam7==/7.13.3
|
||||||
```
|
```
|
||||||
|
|
||||||
## Using the library
|
## Using the library
|
||||||
|
|||||||
@@ -214,6 +214,12 @@ The option `updatesheetprotectedranges` only applies to items in `<DriveFileEnti
|
|||||||
* ACLs with role reader or commenter will be removed from existing protected ranges
|
* ACLs with role reader or commenter will be removed from existing protected ranges
|
||||||
* ACLs with role writer or higher will be added to existing protected ranges
|
* ACLs with role writer or higher will be added to existing protected ranges
|
||||||
|
|
||||||
|
`
|
||||||
|
`enforceexpansiveaccess` defaults to the value of `gam.cfg/enforce_expansive_access` that controls
|
||||||
|
the ability to update inherited ACLs.
|
||||||
|
* False - Inherited ACLs can be updated
|
||||||
|
* True = Inherited ACLs can not be updated
|
||||||
|
|
||||||
By default, the file ID is displayed in the output; to see the file name, use the `showtitles`
|
By default, the file ID is displayed in the output; to see the file name, use the `showtitles`
|
||||||
option; this requires an additional API call per file.
|
option; this requires an additional API call per file.
|
||||||
|
|
||||||
@@ -234,6 +240,11 @@ The option `updatesheetprotectedranges` only applies to items in `<DriveFileEnti
|
|||||||
* Sheet Protected Ranges are updated to reflect the deleted ACL; additional API calls are required.
|
* Sheet Protected Ranges are updated to reflect the deleted ACL; additional API calls are required.
|
||||||
* ACLs with any role will be removed from existing protected ranges
|
* ACLs with any role will be removed from existing protected ranges
|
||||||
|
|
||||||
|
`enforceexpansiveaccess` defaults to the value of `gam.cfg/enforce_expansive_access` that controls
|
||||||
|
the ability to delete delete inherited ACLs.
|
||||||
|
* False - Inherited ACLs can be deleted
|
||||||
|
* True = Inherited ACLs can not be deleted
|
||||||
|
|
||||||
By default, the file ID is displayed in the output; to see the file name, use the `showtitles`
|
By default, the file ID is displayed in the output; to see the file name, use the `showtitles`
|
||||||
option; this requires an additional API call per file.
|
option; this requires an additional API call per file.
|
||||||
|
|
||||||
@@ -266,6 +277,11 @@ gam <UserTypeEntity> delete permissions <DriveFileEntity> <DriveFilePermissionID
|
|||||||
<PermissionMatch>* [<PermissionMatchAction>]
|
<PermissionMatch>* [<PermissionMatchAction>]
|
||||||
[enforceexpansiveaccess [<Boolean>]]
|
[enforceexpansiveaccess [<Boolean>]]
|
||||||
```
|
```
|
||||||
|
`enforceexpansiveaccess` defaults to the value of `gam.cfg/enforce_expansive_access` that controls
|
||||||
|
the ability to delete delete inherited ACLs.
|
||||||
|
* False - Inherited ACLs can be deleted
|
||||||
|
* True = Inherited ACLs can not be deleted
|
||||||
|
|
||||||
When deleting permissions from JSON data, permissions with role `owner` true are never processed.
|
When deleting permissions from JSON data, permissions with role `owner` true are never processed.
|
||||||
|
|
||||||
## Display file permissions/sharing
|
## Display file permissions/sharing
|
||||||
|
|||||||
@@ -80,8 +80,8 @@ All `<FilterAction>s` except `forward <EmailAddress>` involve adding/removing la
|
|||||||
* `label <LabelName>` - Add the user label `<LabelName>`; only one user label can be specified. It will be created if necessary.
|
* `label <LabelName>` - Add the user label `<LabelName>`; only one user label can be specified. It will be created if necessary.
|
||||||
|
|
||||||
In Gmail, you can have a multi-level label like `Top/Middle/Bottom`; you can also have a single-level label like `Top/Middle/Bottom`,
|
In Gmail, you can have a multi-level label like `Top/Middle/Bottom`; you can also have a single-level label like `Top/Middle/Bottom`,
|
||||||
* If `buildpath` is omitted or `<Boolean>` is set to False, a <labelName>` containing `/` will be created as single-level.
|
* If `buildpath` is omitted or `<Boolean>` is set to False, a `<labelName>` containing `/` will be created as single-level.
|
||||||
* If `buildpath` is present and `<Boolean>` is omitted or set to True, a <labelName>` containing `/` will be created as multi-level;
|
* If `buildpath` is present and `<Boolean>` is omitted or set to True, a `<labelName>` containing `/` will be created as multi-level;
|
||||||
all parent labels are created as necessary.
|
all parent labels are created as necessary.
|
||||||
|
|
||||||
If `forward <EmailAddress>` is specified, the filter creation will fail if the user has not defined `<EmailAddress>` as a forwarding address.
|
If `forward <EmailAddress>` is specified, the filter creation will fail if the user has not defined `<EmailAddress>` as a forwarding address.
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ k
|
|||||||
Print the current version of Gam with details
|
Print the current version of Gam with details
|
||||||
```
|
```
|
||||||
gam version
|
gam version
|
||||||
GAM 7.14.03 - https://github.com/GAM-team/GAM - pyinstaller
|
GAM 7.14.04 - https://github.com/GAM-team/GAM - pyinstaller
|
||||||
GAM Team <google-apps-manager@googlegroups.com>
|
GAM Team <google-apps-manager@googlegroups.com>
|
||||||
Python 3.13.5 64-bit final
|
Python 3.13.5 64-bit final
|
||||||
MacOS Sequoia 15.5 x86_64
|
MacOS Sequoia 15.5 x86_64
|
||||||
@@ -16,7 +16,7 @@ Time: 2023-06-02T21:10:00-07:00
|
|||||||
Print the current version of Gam with details and time offset information
|
Print the current version of Gam with details and time offset information
|
||||||
```
|
```
|
||||||
gam version timeoffset
|
gam version timeoffset
|
||||||
GAM 7.14.03 - https://github.com/GAM-team/GAM - pyinstaller
|
GAM 7.14.04 - https://github.com/GAM-team/GAM - pyinstaller
|
||||||
GAM Team <google-apps-manager@googlegroups.com>
|
GAM Team <google-apps-manager@googlegroups.com>
|
||||||
Python 3.13.5 64-bit final
|
Python 3.13.5 64-bit final
|
||||||
MacOS Sequoia 15.5 x86_64
|
MacOS Sequoia 15.5 x86_64
|
||||||
@@ -28,7 +28,7 @@ Your system time differs from www.googleapis.com by less than 1 second
|
|||||||
Print the current version of Gam with extended details and SSL information
|
Print the current version of Gam with extended details and SSL information
|
||||||
```
|
```
|
||||||
gam version extended
|
gam version extended
|
||||||
GAM 7.14.03 - https://github.com/GAM-team/GAM - pyinstaller
|
GAM 7.14.04 - https://github.com/GAM-team/GAM - pyinstaller
|
||||||
GAM Team <google-apps-manager@googlegroups.com>
|
GAM Team <google-apps-manager@googlegroups.com>
|
||||||
Python 3.13.5 64-bit final
|
Python 3.13.5 64-bit final
|
||||||
MacOS Sequoia 15.5 x86_64
|
MacOS Sequoia 15.5 x86_64
|
||||||
@@ -65,7 +65,7 @@ MacOS High Sierra 10.13.6 x86_64
|
|||||||
Path: /Users/Admin/bin/gam7
|
Path: /Users/Admin/bin/gam7
|
||||||
Version Check:
|
Version Check:
|
||||||
Current: 5.35.08
|
Current: 5.35.08
|
||||||
Latest: 7.14.03
|
Latest: 7.14.04
|
||||||
echo $?
|
echo $?
|
||||||
1
|
1
|
||||||
```
|
```
|
||||||
@@ -73,7 +73,7 @@ echo $?
|
|||||||
Print the current version number without details
|
Print the current version number without details
|
||||||
```
|
```
|
||||||
gam version simple
|
gam version simple
|
||||||
7.14.03
|
7.14.04
|
||||||
```
|
```
|
||||||
In Linux/MacOS you can do:
|
In Linux/MacOS you can do:
|
||||||
```
|
```
|
||||||
@@ -83,7 +83,7 @@ echo $VER
|
|||||||
Print the current version of Gam and address of this Wiki
|
Print the current version of Gam and address of this Wiki
|
||||||
```
|
```
|
||||||
gam help
|
gam help
|
||||||
GAM 7.14.03 - https://github.com/GAM-team/GAM
|
GAM 7.14.04 - https://github.com/GAM-team/GAM
|
||||||
GAM Team <google-apps-manager@googlegroups.com>
|
GAM Team <google-apps-manager@googlegroups.com>
|
||||||
Python 3.13.5 64-bit final
|
Python 3.13.5 64-bit final
|
||||||
MacOS Sequoia 15.5 x86_64
|
MacOS Sequoia 15.5 x86_64
|
||||||
|
|||||||
Reference in New Issue
Block a user