mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-03 20:31:35 +00:00
Compare commits
32 Commits
v7.00.28
...
20241111.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
98ef879a34 | ||
|
|
95b3a97925 | ||
|
|
f24629602c | ||
|
|
e5125b6853 | ||
|
|
31e8ac11a2 | ||
|
|
a9c4c006b2 | ||
|
|
378c763aa3 | ||
|
|
e46c837416 | ||
|
|
a478d45258 | ||
|
|
5476c4d14f | ||
|
|
2759d59cbf | ||
|
|
d2213709f0 | ||
|
|
d2840b95d5 | ||
|
|
49cdad014b | ||
|
|
532271130c | ||
|
|
628ef4aeff | ||
|
|
34b344baf9 | ||
|
|
b2daeffa36 | ||
|
|
3440fa7415 | ||
|
|
77bf001195 | ||
|
|
5d0003ce93 | ||
|
|
a0c4be1d5c | ||
|
|
95be4e2d53 | ||
|
|
5f8705fc09 | ||
|
|
975833bf87 | ||
|
|
b4e3f25c1e | ||
|
|
bb198c8c1a | ||
|
|
40899de989 | ||
|
|
01a6781454 | ||
|
|
f448a75da4 | ||
|
|
8e5f5c9a6b | ||
|
|
04156061c4 |
BIN
.github/actions/creds.tar.xz.gpg
vendored
BIN
.github/actions/creds.tar.xz.gpg
vendored
Binary file not shown.
18
.github/actions/decrypt.sh
vendored
Normal file → Executable file
18
.github/actions/decrypt.sh
vendored
Normal file → Executable file
@@ -23,10 +23,16 @@ fi
|
|||||||
gpg --batch \
|
gpg --batch \
|
||||||
--yes \
|
--yes \
|
||||||
--decrypt \
|
--decrypt \
|
||||||
--passphrase="${PASSCODE}" \
|
--passphrase="$PASSCODE" \
|
||||||
--output "${credsfile}" \
|
--output "$credsfile" \
|
||||||
"${gpgfile}"
|
"$gpgfile"
|
||||||
|
|
||||||
tar xvvf "${credsfile}" --directory "${credspath}"
|
if [[ "$RUNNER_OS" == "macOS" ]]; then
|
||||||
rm -rvf "${gpgfile}"
|
tar="gtar"
|
||||||
rm -rvf "${credsfile}"
|
else
|
||||||
|
tar="tar"
|
||||||
|
fi
|
||||||
|
|
||||||
|
"$tar" xlvvf "$credsfile" --directory "$credspath"
|
||||||
|
rm -rvf "$gpgfile"
|
||||||
|
rm -rvf "$credsfile"
|
||||||
|
|||||||
11
.github/workflows/build.yml
vendored
11
.github/workflows/build.yml
vendored
@@ -805,6 +805,8 @@ jobs:
|
|||||||
# cleanup old runs
|
# cleanup old runs
|
||||||
$gam config enable_dasa false save
|
$gam config enable_dasa false save
|
||||||
$gam config csv_output_row_filter "name:regex:gha_test_${JID}_" print vaultholds || if [ $? != 55 ]; then exit $?; fi | $gam csv - gam delete vaulthold "id:~~holdId~~" matter "id:~~matterId~~"
|
$gam config csv_output_row_filter "name:regex:gha_test_${JID}_" print vaultholds || if [ $? != 55 ]; then exit $?; fi | $gam csv - gam delete vaulthold "id:~~holdId~~" matter "id:~~matterId~~"
|
||||||
|
$gam config csv_output_row_filter "name:regex:gha_test_${HID}_" print vaultmatters matterstate OPEN | $gam csv - gam update vaultmatter "id:~~matterId~~" action close
|
||||||
|
$gam config csv_output_row_filter "name:regex:gha_test_${HID}_" print vaultmatters matterstate CLOSED | $gam csv - gam update vaultmatter "id:~~matterId~~" action delete
|
||||||
$gam config enable_dasa true save
|
$gam config enable_dasa true save
|
||||||
$gam config csv_output_row_filter "name:regex:gha_test_${JID}_" print features | $gam csv - gam delete feature ~name
|
$gam config csv_output_row_filter "name:regex:gha_test_${JID}_" print features | $gam csv - gam delete feature ~name
|
||||||
$gam config csv_output_row_filter "name:regex:^gha_test_${JID}_" user $gam_user print shareddrives asadmin | $gam csv - gam user $gam_user delete shareddrive ~id nukefromorbit
|
$gam config csv_output_row_filter "name:regex:^gha_test_${JID}_" user $gam_user print shareddrives asadmin | $gam csv - gam user $gam_user delete shareddrive ~id nukefromorbit
|
||||||
@@ -824,8 +826,7 @@ jobs:
|
|||||||
done
|
done
|
||||||
driveid=$($gam user $gam_user add shareddrive "${newbase}" returnidonly)
|
driveid=$($gam user $gam_user add shareddrive "${newbase}" returnidonly)
|
||||||
echo "Created shared drive ${driveid}"
|
echo "Created shared drive ${driveid}"
|
||||||
# 9/17/24 - temp create in root due to Google API issues creating users in new OUs
|
$gam create user $newuser firstname GHA lastname $JID displayname "Github Actions ${JID}" password random recoveryphone 12125121110 recoveryemail jay0lee@gmail.com gha.jid $JID languages en+,en-GB- ou "${newou}"
|
||||||
$gam create user $newuser firstname GHA lastname $JID displayname "Github Actions ${JID}" password random recoveryphone 12125121110 recoveryemail jay0lee@gmail.com gha.jid $JID languages en+,en-GB- # ou "${newou}"
|
|
||||||
$gam user $newuser add license workspaceenterpriseplus
|
$gam user $newuser add license workspaceenterpriseplus
|
||||||
$gam user $newuser update photo https://dummyimage.com/400x600/000/fff
|
$gam user $newuser update photo https://dummyimage.com/400x600/000/fff
|
||||||
$gam user $newuser get photo
|
$gam user $newuser get photo
|
||||||
@@ -834,7 +835,9 @@ jobs:
|
|||||||
$gam create group $newgroup name "GHA $JID group" description "This is a description" isarchived true
|
$gam create group $newgroup name "GHA $JID group" description "This is a description" isarchived true
|
||||||
$gam user $gam_user sendemail recipient dev-null@pdl.jaylee.us subject "test message $newbase" message "GHA test message"
|
$gam user $gam_user sendemail recipient dev-null@pdl.jaylee.us subject "test message $newbase" message "GHA test message"
|
||||||
$gam config enable_dasa false save
|
$gam config enable_dasa false save
|
||||||
#$gam create contact firstname GHA lastname "$JID" email work "${newbase}@example.com" primary
|
# don't expose policy output
|
||||||
|
$gam show policies > policies.csv
|
||||||
|
$gam create contact firstname GHA lastname "$JID" email work "${newbase}@example.com" primary
|
||||||
$gam print contacts
|
$gam print contacts
|
||||||
$gam print privileges
|
$gam print privileges
|
||||||
$gam config enable_dasa true save
|
$gam config enable_dasa true save
|
||||||
@@ -860,7 +863,7 @@ jobs:
|
|||||||
$gam info group $newgroup
|
$gam info group $newgroup
|
||||||
$gam info cigroup $newgroup membertree
|
$gam info cigroup $newgroup membertree
|
||||||
# confirm mailbox is provisoned before continuing
|
# confirm mailbox is provisoned before continuing
|
||||||
$gam user $newuser waitformailbox retries 20
|
$gam user $newuser waitformailbox retries 50
|
||||||
$gam user $newuser imap on
|
$gam user $newuser imap on
|
||||||
$gam user $newuser show imap
|
$gam user $newuser show imap
|
||||||
$gam user $newuser show delegates
|
$gam user $newuser show delegates
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Addresses
|
# Addresses
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Display addresses](#display-addresses)
|
- [Display addresses](#display-addresses)
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Administrators
|
# Administrators
|
||||||
- [Administrator roles documentation](#administrator-roles-documentation)
|
- [Administrator roles documentation](#administrator-roles-documentation)
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Alert Center
|
# Alert Center
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
|
|||||||
@@ -973,8 +973,8 @@ gam user user@domain.com update serviceaccount
|
|||||||
[*] 18) Drive API (supports readonly)
|
[*] 18) Drive API (supports readonly)
|
||||||
[*] 19) Drive API - todrive
|
[*] 19) Drive API - todrive
|
||||||
[*] 20) Drive Activity API v2 - must pair with Drive API
|
[*] 20) Drive Activity API v2 - must pair with Drive API
|
||||||
[*] 21) Drive Labels API v2beta - Admin (supports readonly)
|
[*] 21) Drive Labels API - Admin (supports readonly)
|
||||||
[*] 22) Drive Labels API v2beta - User (supports readonly)
|
[*] 22) Drive Labels API - User (supports readonly)
|
||||||
[*] 23) Forms API
|
[*] 23) Forms API
|
||||||
[*] 24) Gmail API - Basic Settings (Filters,IMAP, Language, POP, Vacation) - read/write, Sharing Settings (Delegates, Forwarding, SendAs) - read
|
[*] 24) Gmail API - Basic Settings (Filters,IMAP, Language, POP, Vacation) - read/write, Sharing Settings (Delegates, Forwarding, SendAs) - read
|
||||||
[*] 25) Gmail API - Full Access (Labels, Messages)
|
[*] 25) Gmail API - Full Access (Labels, Messages)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Syntax
|
# Syntax
|
||||||
|
|
||||||
## BNF Syntax
|
## BNF Syntax
|
||||||
This Wiki describes the GAM7 command line syntax in modified BNF.
|
This Wiki describes the GAM7 command line syntax in modified BNF.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Basic Items
|
# Basic Items
|
||||||
- [Primitives](#primitives)
|
- [Primitives](#primitives)
|
||||||
- [Items built from primitives](#items-built-from-primitives)
|
- [Items built from primitives](#items-built-from-primitives)
|
||||||
- [Named items](#named-items)
|
- [Named items](#named-items)
|
||||||
@@ -274,14 +274,20 @@
|
|||||||
<EmailAddress>|user:<EmailAddress>|group:<EmailAddress>|
|
<EmailAddress>|user:<EmailAddress>|group:<EmailAddress>|
|
||||||
domain:<DomainName>|domain|default
|
domain:<DomainName>|domain|default
|
||||||
<CalendarItem> ::= <EmailAddress>
|
<CalendarItem> ::= <EmailAddress>
|
||||||
<GIGroupAlias> ::= <EmailAddress>
|
|
||||||
<GIGroupItem> ::= <EmailAddress>|<UniqueID>|groups/<String>
|
|
||||||
<CIGroupType> ::= customer|group|other|serviceaccount|user
|
|
||||||
<ChannelCustomerID> ::= <String>
|
<ChannelCustomerID> ::= <String>
|
||||||
<ChatMember> ::= spaces/<String>/members/<String>
|
<ChatMember> ::= spaces/<String>/members/<String>
|
||||||
<ChatMessage> ::= spaces/<String>/messages/<String>
|
<ChatMessage> ::= spaces/<String>/messages/<String>
|
||||||
<ChatSpace> ::= spaces/<String> | space <String> | space spaces/<String>
|
<ChatSpace> ::= spaces/<String> | space <String> | space spaces/<String>
|
||||||
<ChatThread> ::= spaces/<String>/threads/<String>
|
<ChatThread> ::= spaces/<String>/threads/<String>
|
||||||
|
<GIGroupAlias> ::= <EmailAddress>
|
||||||
|
<GIGroupItem> ::= <EmailAddress>|<UniqueID>|groups/<String>
|
||||||
|
<CIGroupType> ::= customer|group|other|serviceaccount|user
|
||||||
|
<CIPolicyName> ::= policies/<String>|settings/<String>|<String>
|
||||||
|
<ClassificationLabelID> ::= <String>
|
||||||
|
<ClassificationLabelFieldID> ::= <String>
|
||||||
|
<ClassificationLabelSelectionID> ::= <String>
|
||||||
|
<ClassificationLabelName> ::= labels/<ClassificationLabelID>[@latest|@published|@<Number>]
|
||||||
|
<ClassificationLabelPermissionName> ::= labels/<ClassificationLabelID>[@latest|@published|@<Number>]/permissions/(audiences|groups|people)/<String>
|
||||||
<ClassroomInvitationID> ::= <String>
|
<ClassroomInvitationID> ::= <String>
|
||||||
<ClientID> ::= <String>
|
<ClientID> ::= <String>
|
||||||
<CommandID> ::= <String>
|
<CommandID> ::= <String>
|
||||||
@@ -351,11 +357,6 @@
|
|||||||
<DriveFilePermissionID> ::= anyone|anyonewithlink|id:<String>
|
<DriveFilePermissionID> ::= anyone|anyonewithlink|id:<String>
|
||||||
<DriveFilePermissionIDorEmail> ::= <DriveFilePermissionID>|<EmailAddress>
|
<DriveFilePermissionIDorEmail> ::= <DriveFilePermissionID>|<EmailAddress>
|
||||||
<DriveFileRevisionID> ::= <String>
|
<DriveFileRevisionID> ::= <String>
|
||||||
<DriveLabelID> ::= <String>
|
|
||||||
<DriveLabelFieldID> ::= <String>
|
|
||||||
<DriveLabelSelectionID> ::= <String>
|
|
||||||
<DriveLabelName> ::= labels/<DriveLabelID>[@latest|@published|@<Number>]
|
|
||||||
<DriveLabelPermissionName> ::= labels/<DriveLabelID>[@latest|@published|@<Number>]/permissions/(audiences|groups|people)/<String>
|
|
||||||
<EmailAddress> ::= <String>@<DomainName>
|
<EmailAddress> ::= <String>@<DomainName>
|
||||||
<EmailItem> ::= <EmailAddress>|<UniqueID>|<String>
|
<EmailItem> ::= <EmailAddress>|<UniqueID>|<String>
|
||||||
<EmailReplacement> ::= <String>
|
<EmailReplacement> ::= <String>
|
||||||
@@ -533,6 +534,7 @@
|
|||||||
(tdnotify [<Boolean>])|
|
(tdnotify [<Boolean>])|
|
||||||
(tdparent (id:<DriveFolderID>)|<DriveFolderName>)|
|
(tdparent (id:<DriveFolderID>)|<DriveFolderName>)|
|
||||||
(tdretaintitle [<Boolean>])|
|
(tdretaintitle [<Boolean>])|
|
||||||
|
(tdreturnidonly [<Boolean>])|
|
||||||
(tdshare <EmailAddress> commenter|reader|writer)*|
|
(tdshare <EmailAddress> commenter|reader|writer)*|
|
||||||
(tdsheet (id:<Number>)|<String>)|
|
(tdsheet (id:<Number>)|<String>)|
|
||||||
(tdsheettimestamp [<Boolean>] [tdsheettimeformat <String>])
|
(tdsheettimestamp [<Boolean>] [tdsheettimeformat <String>])
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Bulk Processing
|
# Bulk Processing
|
||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
- [Python Regular Expressions](Python-Regular-Expressions)
|
- [Python Regular Expressions](Python-Regular-Expressions)
|
||||||
- [GAM Configuration](gam.cfg)
|
- [GAM Configuration](gam.cfg)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# CSV Special Characters
|
# CSV Special Characters
|
||||||
- [Python CSV documentation](https://docs.python.org/3/library/csv.html#dialects-and-formatting-parameters)
|
- [Python CSV documentation](https://docs.python.org/3/library/csv.html#dialects-and-formatting-parameters)
|
||||||
|
|
||||||
## Python variables that control CSV file reading/writing:
|
## Python variables that control CSV file reading/writing:
|
||||||
|
|||||||
@@ -66,9 +66,12 @@ Client access works when accessing Resource calendars.
|
|||||||
See: https://github.com/GAM-team/GAM/wiki/Collections-of-Items
|
See: https://github.com/GAM-team/GAM/wiki/Collections-of-Items
|
||||||
<DomainName> ::= <String>(.<String>)+
|
<DomainName> ::= <String>(.<String>)+
|
||||||
<EmailAddress> ::= <String>@<DomainName>
|
<EmailAddress> ::= <String>@<DomainName>
|
||||||
<EmailAddressList> ::= "<EmailAddess>(,<EmailAddress>)*"
|
<EmailAddressList> ::= "<EmailAddress>(,<EmailAddress>)*"
|
||||||
<EmailAddressEntity> ::= <EmailAddressList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
<EmailAddressEntity> ::=
|
||||||
|
<EmailAddressList> | <FileSelector> | <CSVFileSelector> |
|
||||||
|
<CSVkmdSelector> | <CSVDataSelector>
|
||||||
See: https://github.com/GAM-team/GAM/wiki/Collections-of-Items
|
See: https://github.com/GAM-team/GAM/wiki/Collections-of-Items
|
||||||
|
<iCalUID> ::= <String>
|
||||||
|
|
||||||
<EventAttachmentsSubfieldName> ::=
|
<EventAttachmentsSubfieldName> ::=
|
||||||
attachments.fileid|
|
attachments.fileid|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Chat Bot
|
# Chat Bot
|
||||||
|
|
||||||
- [Notes](#notes)
|
- [Notes](#notes)
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Chrome Auto Update Expiration Counts
|
# Chrome Auto Update Expiration Counts
|
||||||
|
|
||||||
- [Chrome Auto Update Expiration Counts](#chrome-auto-update-expiration-counts)
|
- [Chrome Auto Update Expiration Counts](#chrome-auto-update-expiration-counts)
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Chrome Installed Apps Counts
|
# Chrome Installed Apps Counts
|
||||||
|
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Chrome Device Needs Attention Counts
|
# Chrome Device Needs Attention Counts
|
||||||
|
|
||||||
- [Chrome Device Needs Attention Counts](#chrome-device-needs-attention-counts)
|
- [Chrome Device Needs Attention Counts](#chrome-device-needs-attention-counts)
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Chrome Policies
|
# Chrome Policies
|
||||||
|
|
||||||
- [Chrome Policies](#chrome-policies)
|
- [Chrome Policies](#chrome-policies)
|
||||||
- [Chrome Version History](Chrome-Version-History)
|
- [Chrome Version History](Chrome-Version-History)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Chrome Printers
|
# Chrome Printers
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Notes](#notes)
|
- [Notes](#notes)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Chrome Version Counts
|
# Chrome Version Counts
|
||||||
|
|
||||||
- [Chrome Version Counts](#chrome-version-counts)
|
- [Chrome Version Counts](#chrome-version-counts)
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Chrome Version History
|
# Chrome Version History
|
||||||
|
|
||||||
- [Chrome Version History](#chrome-version-history)
|
- [Chrome Version History](#chrome-version-history)
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Cloud Channel
|
# Cloud Channel
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Notes](#notes)
|
- [Notes](#notes)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Cloud Identity Devices
|
# Cloud Identity Devices
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Query documentation](#query-documentation)
|
- [Query documentation](#query-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
386
docs/Cloud-Identity-Policies.md
Normal file
386
docs/Cloud-Identity-Policies.md
Normal file
@@ -0,0 +1,386 @@
|
|||||||
|
# Cloud Identity Policies
|
||||||
|
- [API documentation](#api-documentation)
|
||||||
|
- [Notes](#notes)
|
||||||
|
- [Python Regular Expressions](Python-Regular-Expressions) Match function
|
||||||
|
- [Definitions](#definitions)
|
||||||
|
- [Policies](#policies)
|
||||||
|
- [Display Cloud Identity Policies](#display-cloud-identity-policies)
|
||||||
|
|
||||||
|
## API documentation
|
||||||
|
* https://cloud.google.com/identity/docs/concepts/overview-policies
|
||||||
|
* https://cloud.google.com/identity/docs/reference/rest/v1beta1/policies/list
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
To use these commands you must update your client access authentication.
|
||||||
|
You'll enter 19R to turn on the Cloud Identity Policy scope; then continue
|
||||||
|
with authentication.
|
||||||
|
```
|
||||||
|
gam oauth delete
|
||||||
|
gam oauth create
|
||||||
|
...
|
||||||
|
[R] 19) Cloud Identity - Policy
|
||||||
|
```
|
||||||
|
|
||||||
|
## Definitions
|
||||||
|
```
|
||||||
|
<CIPolicyName> ::= policies/<String>|settings/<String>|<String>
|
||||||
|
<CIPolicyNameList> ::= "<CIPolicyName>(,<CIPolicyName>)*"
|
||||||
|
<CIPolicyNameEntity> ::=
|
||||||
|
<CIPolicyNameList> | <FileSelector> | <CSVFileSelector>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Policies
|
||||||
|
These are the supported policies GAM can show today.
|
||||||
|
|
||||||
|
See: https://cloud.google.com/identity/docs/concepts/supported-policy-api-settings
|
||||||
|
```
|
||||||
|
user_takeout_status (is takeout enabled for service)
|
||||||
|
blogger.user_takeout
|
||||||
|
books.user_takeout
|
||||||
|
location_history.user_takeout
|
||||||
|
maps.user_takeout
|
||||||
|
pay.user_takeout
|
||||||
|
photos.user_takeout
|
||||||
|
play.user_takeout
|
||||||
|
play_console.user_takeout
|
||||||
|
youtube.user_takeout
|
||||||
|
service_status (is service enabled)
|
||||||
|
ad_manager
|
||||||
|
ads
|
||||||
|
adsense
|
||||||
|
alerts
|
||||||
|
analytics
|
||||||
|
applied_digital_skills
|
||||||
|
appsheet
|
||||||
|
arts_and_culture
|
||||||
|
beyondcorp_enterprise
|
||||||
|
blogger
|
||||||
|
bookmarks
|
||||||
|
books
|
||||||
|
calendar
|
||||||
|
campaign_manager
|
||||||
|
chat
|
||||||
|
chrome_canvas
|
||||||
|
chrome_remote_desktop
|
||||||
|
chrome_sync
|
||||||
|
chrome_web_store
|
||||||
|
classroom
|
||||||
|
cloud
|
||||||
|
cloud_search
|
||||||
|
colab
|
||||||
|
cs_first
|
||||||
|
data_studio
|
||||||
|
developers
|
||||||
|
domains
|
||||||
|
drive_and_docs
|
||||||
|
earth
|
||||||
|
enterprise_service_restrictions
|
||||||
|
experimental_apps
|
||||||
|
feedburner
|
||||||
|
fi
|
||||||
|
gmail
|
||||||
|
groups
|
||||||
|
groups_for_business
|
||||||
|
jamboard
|
||||||
|
keep
|
||||||
|
location_history
|
||||||
|
managed_play
|
||||||
|
maps
|
||||||
|
material_gallery
|
||||||
|
meet
|
||||||
|
merchant_center
|
||||||
|
messages
|
||||||
|
migrate
|
||||||
|
my_business
|
||||||
|
my_maps
|
||||||
|
news
|
||||||
|
partner_dash
|
||||||
|
pay
|
||||||
|
pay_for_business
|
||||||
|
photos
|
||||||
|
pinpoint
|
||||||
|
play
|
||||||
|
play_books_partner_center
|
||||||
|
play_console
|
||||||
|
public_data
|
||||||
|
question_hub
|
||||||
|
scholar_profiles
|
||||||
|
search_ads_360
|
||||||
|
search_and_assistant
|
||||||
|
search_console
|
||||||
|
sites
|
||||||
|
socratic
|
||||||
|
takeout
|
||||||
|
tasks
|
||||||
|
third_party_app_backups
|
||||||
|
translate
|
||||||
|
trips
|
||||||
|
vault
|
||||||
|
voice
|
||||||
|
work_insights
|
||||||
|
youtube
|
||||||
|
calendar.appointment_schedules
|
||||||
|
enablePayments
|
||||||
|
chat.chat_apps_access
|
||||||
|
enableApps
|
||||||
|
enableWebhooks
|
||||||
|
chat.chat_file_sharing
|
||||||
|
externalFileSharing
|
||||||
|
internalFileSharing
|
||||||
|
chat.chat_history
|
||||||
|
enableChatHistory
|
||||||
|
historyOnByDefault
|
||||||
|
allowUserModification
|
||||||
|
chat.external_chat_restriction
|
||||||
|
allowExternalChat
|
||||||
|
chat.space_history
|
||||||
|
historyState
|
||||||
|
classroom.api_data_access
|
||||||
|
enableApiAccess
|
||||||
|
classroom.class_membership
|
||||||
|
whoCanJoinClasses
|
||||||
|
whichClassesCanUsersJoin
|
||||||
|
classroom.guardian_access
|
||||||
|
allowAccess
|
||||||
|
whoCanManageGuardianAccess
|
||||||
|
classroom.originality_reports
|
||||||
|
enableOriginalityReportsSchoolMatches
|
||||||
|
classroom.roster_import
|
||||||
|
rosterImportOption
|
||||||
|
classroom.student_unenrollment
|
||||||
|
whoCanUnenrollStudents
|
||||||
|
classroom.teacher_permissions
|
||||||
|
whoCanCreateClasses
|
||||||
|
cloud_sharing_options.cloud_data_sharing
|
||||||
|
sharingOptions
|
||||||
|
detector.regular_expression
|
||||||
|
displayName
|
||||||
|
regularExpression
|
||||||
|
createTime
|
||||||
|
updateTime
|
||||||
|
detector.word_list
|
||||||
|
displayName
|
||||||
|
wordList
|
||||||
|
createTime
|
||||||
|
updateTime
|
||||||
|
description
|
||||||
|
drive_and_docs.drive_for_desktop
|
||||||
|
allowDriveForDesktop
|
||||||
|
restrictToAuthorizedDevices
|
||||||
|
showDownloadLink
|
||||||
|
allowRealTimePresence
|
||||||
|
drive_and_docs.external_sharing
|
||||||
|
externalSharingMode
|
||||||
|
allowReceivingExternalFiles
|
||||||
|
warnForSharingOutsideAllowlistedDomains
|
||||||
|
allowReceivingFilesOutsideAllowlistedDomains
|
||||||
|
allowNonGoogleInvitesInAllowlistedDomains
|
||||||
|
warnForExternalSharing
|
||||||
|
allowNonGoogleInvites
|
||||||
|
allowPublishingFiles
|
||||||
|
accessCheckerSuggestions
|
||||||
|
allowedPartiesForDistributingContent
|
||||||
|
drive_and_docs.file_security_update
|
||||||
|
securityUpdate
|
||||||
|
allowUsersToManageUpdate
|
||||||
|
drive_and_docs.shared_drive_creation
|
||||||
|
allowSharedDriveCreation
|
||||||
|
orgUnitForNewSharedDrives
|
||||||
|
customOrgUnit
|
||||||
|
allowManagersToOverrideSettings
|
||||||
|
allowExternalUserAccess
|
||||||
|
allowNonMemberAccess
|
||||||
|
allowedPartiesForDownloadPrintCopy
|
||||||
|
allowContentManagersToShareFolders
|
||||||
|
gmail.auto_forwarding
|
||||||
|
enableAutoForwarding
|
||||||
|
gmail.confidential_mode
|
||||||
|
enableConfidentialMode
|
||||||
|
gmail.email_attachment_safety
|
||||||
|
enableEncryptedAttachmentProtection
|
||||||
|
encryptedAttachmentProtectionConsequence
|
||||||
|
enableAttachmentWithScriptsProtection
|
||||||
|
attachmentWithScriptsProtectionConsequence
|
||||||
|
enableAnomalousAttachmentProtection
|
||||||
|
anomalousAttachmentProtectionConsequence
|
||||||
|
allowedAnomalousAttachmentFiletypes
|
||||||
|
applyFutureRecommendedSettingsAutomatically
|
||||||
|
encryptedAttachmentProtectionQuarantineId
|
||||||
|
attachmentWithScriptsProtectionQuarantineId
|
||||||
|
anomalousAttachmentProtectionQuarantineId
|
||||||
|
gmail.email_image_proxy_bypass
|
||||||
|
imageProxyBypassPattern
|
||||||
|
enableImageProxy
|
||||||
|
gmail.enhanced_pre_delivery_message_scanning
|
||||||
|
enableImprovedSuspiciousContentDetection
|
||||||
|
gmail.enhanced_smime_encryption
|
||||||
|
enableSmimeEncryption
|
||||||
|
allowUserToUploadCertificates
|
||||||
|
gmail.gmail_name_format
|
||||||
|
allowCustomDisplayNames
|
||||||
|
defaultDisplayNameFormat
|
||||||
|
gmail.imap_access
|
||||||
|
enableImapAccess
|
||||||
|
gmail.links_and_external_images
|
||||||
|
enableShortenerScanning
|
||||||
|
enableExternalImageScanning
|
||||||
|
enableAggressiveWarningsOnUntrustedLinks
|
||||||
|
applyFutureSettingsAutomatically
|
||||||
|
gmail.per_user_outbound_gateway
|
||||||
|
allowUsersToUseExternalSmtpServers
|
||||||
|
gmail.pop_access
|
||||||
|
enablePopAccess
|
||||||
|
gmail.spoofing_and_authentication
|
||||||
|
detectDomainNameSpoofing
|
||||||
|
detectEmployeeNameSpoofing
|
||||||
|
detectDomainSpoofingFromUnauthenticatedSenders
|
||||||
|
detectUnauthenticatedEmails
|
||||||
|
domainNameSpoofingConsequence
|
||||||
|
employeeNameSpoofingConsequence
|
||||||
|
domainSpoofingConsequence
|
||||||
|
unauthenticatedEmailConsequence
|
||||||
|
detectGroupsSpoofing
|
||||||
|
groupsSpoofingVisibilityType
|
||||||
|
groupsSpoofingConsequence
|
||||||
|
applyFutureSettingsAutomatically
|
||||||
|
domainNameSpoofingQuarantineId
|
||||||
|
employeeNameSpoofingQuarantineId
|
||||||
|
domainSpoofingQuarantineId
|
||||||
|
unauthenticatedEmailQuarantineId
|
||||||
|
groupsSpoofingQuarantineId
|
||||||
|
gmail.user_email_uploads
|
||||||
|
enableMailAndContactsImport
|
||||||
|
gmail.workspace_sync_for_outlook
|
||||||
|
enableGoogleWorkspaceSyncForMicrosoftOutlook
|
||||||
|
groups_for_business.groups_sharing
|
||||||
|
ownersCanAllowIncomingMailFromPublic
|
||||||
|
collaborationCapability
|
||||||
|
createGroupsAccessLevel
|
||||||
|
ownersCanAllowExternalMembers
|
||||||
|
ownersCanHideGroups
|
||||||
|
newGroupsAreHidden
|
||||||
|
viewTopicsDefaultAccessLevel
|
||||||
|
meet.safety_access
|
||||||
|
meetingsAllowedToJoin
|
||||||
|
meet.safety_domain
|
||||||
|
usersAllowedToJoin
|
||||||
|
meet.safety_external_participants
|
||||||
|
enableExternalLabel
|
||||||
|
meet.safety_host_management
|
||||||
|
enableHostManagement
|
||||||
|
meet.video_recording
|
||||||
|
enableRecording
|
||||||
|
rule.dlp
|
||||||
|
displayName
|
||||||
|
description
|
||||||
|
triggers
|
||||||
|
condition
|
||||||
|
action
|
||||||
|
state
|
||||||
|
createTime
|
||||||
|
updateTime
|
||||||
|
ruleTypeMetadata
|
||||||
|
rule.system_defined_alerts
|
||||||
|
displayName
|
||||||
|
description
|
||||||
|
action
|
||||||
|
state
|
||||||
|
createTime
|
||||||
|
updateTime
|
||||||
|
security.advanced_protection_program
|
||||||
|
enableAdvancedProtectionSelfEnrollment
|
||||||
|
securityCodeOption
|
||||||
|
security.less_secure_apps
|
||||||
|
allowLessSecureApps
|
||||||
|
security.login_challenges
|
||||||
|
enableEmployeeIdChallenge
|
||||||
|
security.password
|
||||||
|
allowedStrength
|
||||||
|
minimumLength
|
||||||
|
maximumLength
|
||||||
|
enforceRequirementsAtLogin
|
||||||
|
allowReuse
|
||||||
|
expirationDuration
|
||||||
|
security.session_controls
|
||||||
|
webSessionDuration
|
||||||
|
security.super_admin_account_recovery
|
||||||
|
enableAccountRecovery
|
||||||
|
security.user_account_recovery
|
||||||
|
enableAccountRecovery
|
||||||
|
sites.sites_creation_and_modification
|
||||||
|
allowSitesCreation
|
||||||
|
allowSitesModification
|
||||||
|
workspace_marketplace.apps_allowlist
|
||||||
|
apps
|
||||||
|
```
|
||||||
|
## Display Cloud Identity Policies
|
||||||
|
Display selected policies.
|
||||||
|
```
|
||||||
|
gam info policies <CIPolicyEntity>
|
||||||
|
[nowarnings] [noappnames]
|
||||||
|
[formatjson]
|
||||||
|
```
|
||||||
|
|
||||||
|
Select policies::
|
||||||
|
* `polices/<String>` - A policy name, `policies/ahv4hg7qc24kvaghb7zihwf4riid4`
|
||||||
|
* `settings/<String>` - A policy setting type, `settings/workspace_marketplace.apps_allowlist`
|
||||||
|
* `<String>` - A policy setting type, `workspace_marketplace.apps_allowlist`
|
||||||
|
|
||||||
|
By default, policy warnings are displayed, use the 'nowarnings` option to suppress their display.
|
||||||
|
|
||||||
|
By default, additional API calls are made for `settings/workspace_marketplace.apps_allowlist`
|
||||||
|
to get the application name for the application ID. Use option `noappnames` to suppress these calls.
|
||||||
|
|
||||||
|
By default, Gam displays the information as an indented list of keys and values.
|
||||||
|
* `formatjson` - Display the fields in JSON format.
|
||||||
|
|
||||||
|
Display all or filtered policies.
|
||||||
|
```
|
||||||
|
gam show policies
|
||||||
|
[filter <String>] [nowarnings] [noappnames]
|
||||||
|
[group <RegularExpression>] [ou|org|orgunit <RegularExpression>]
|
||||||
|
[formatjson]
|
||||||
|
```
|
||||||
|
By default, all policies are displayed.
|
||||||
|
* `filter <String>` - Display filtered policies, See https://cloud.google.com/identity/docs/reference/rest/v1beta1/policies/list
|
||||||
|
* `group <RegularExpression>` - Only display policies whose group email address matches the `<RegularExpression>`
|
||||||
|
* `ou|org|orgunit <RegularExpression> - Only display policies whose OU path matches the `<RegularExpression>`
|
||||||
|
|
||||||
|
By default, policy warnings are displayed, use the 'nowarnings` option to suppress their display.
|
||||||
|
|
||||||
|
By default, additional API calls are made for `settings/workspace_marketplace.apps_allowlist`
|
||||||
|
to get the application name for the application ID. Use option `noappnames` to suppress these calls.
|
||||||
|
|
||||||
|
By default, Gam displays the information as an indented list of keys and values.
|
||||||
|
* `formatjson` - Display the fields in JSON format.
|
||||||
|
|
||||||
|
```
|
||||||
|
gam print policies [todrive <ToDriveAttribute>*]
|
||||||
|
[filter <String>] [nowarnings] [noappnames]
|
||||||
|
[group <RegularExpression>] [ou|org|orgunit <RegularExpression>]
|
||||||
|
[formatjson [quotechar <Character>]]
|
||||||
|
```
|
||||||
|
By default, all policies are displayed:
|
||||||
|
* `filter <String>` - Display filtered policies, See https://cloud.google.com/identity/docs/reference/rest/v1beta1/policies/list
|
||||||
|
* `group <RegularExpression>` - Only display policies whose group email address matches the `<RegularExpression>`
|
||||||
|
* `ou|org|orgunit <RegularExpression> - Only display policies whose OU path matches the `<RegularExpression>`
|
||||||
|
|
||||||
|
By default, policy warnings are displayed, use the 'nowarnings` option to suppress their display.
|
||||||
|
|
||||||
|
By default, additional API calls are made for `settings/workspace_marketplace.apps_allowlist`
|
||||||
|
to get the application name for the application ID. Use option `noappnames` to suppress these calls.
|
||||||
|
|
||||||
|
By default, Gam displays the information as columns of fields; the following option causes the output to be in JSON format,
|
||||||
|
* `formatjson` - Display the fields in JSON format.
|
||||||
|
|
||||||
|
By default, when writing CSV files, Gam uses a quote character of double quote `"`. The quote character is used to enclose columns that contain
|
||||||
|
the quote character itself, the column delimiter (comma by default) and new-line characters. Any quote characters within the column are doubled.
|
||||||
|
When using the `formatjson` option, double quotes are used extensively in the data resulting in hard to read/process output.
|
||||||
|
The `quotechar <Character>` option allows you to choose an alternate quote character, single quote for instance, that makes for readable/processable output.
|
||||||
|
`quotechar` defaults to `gam.cfg/csv_output_quote_char`. When uploading CSV files to Google, double quote `"` should be used.
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
Print all service status policies.
|
||||||
|
```
|
||||||
|
gam redirect csv ./ServiceStatusPolicies.csv print policies filter "setting.type.matches('.*service_status')"
|
||||||
|
```
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Cloud Storage
|
# Cloud Storage
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Notes](#notes)
|
- [Notes](#notes)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Collections of ChromeOS Devices
|
# Collections of ChromeOS Devices
|
||||||
- [Python Regular Expressions](Python-Regular-Expressions) Match function
|
- [Python Regular Expressions](Python-Regular-Expressions) Match function
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Organization Unit Quoting](#organization-unit-quoting)
|
- [Organization Unit Quoting](#organization-unit-quoting)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Collections of Items
|
# Collections of Items
|
||||||
- [Python Regular Expressions](Python-Regular-Expressions) Match function
|
- [Python Regular Expressions](Python-Regular-Expressions) Match function
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [ListSelector](#listselector)
|
- [ListSelector](#listselector)
|
||||||
@@ -144,6 +144,12 @@ Data fields identified in a `csvkmd` argument.
|
|||||||
<CalendarACLScopeList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
<CalendarACLScopeList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
||||||
<CalendarEntity> ::=
|
<CalendarEntity> ::=
|
||||||
<CalendarList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
<CalendarList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
||||||
|
<CIPolicyNameEntity> ::=
|
||||||
|
<CIPolicyNameList> | <FileSelector> | <CSVFileSelector>
|
||||||
|
<ClassificationLabelNameEntity> ::=
|
||||||
|
<ClassificationLabelNameList> | <FileSelector> | <CSVFileSelector> | <CSVDataSelector>
|
||||||
|
<ClassificationLabelPermissionNameEntity> ::=
|
||||||
|
<ClassificationLabelPermissionNameList> | <FileSelector> | <CSVFileSelector> | <CSVDataSelector>
|
||||||
<ClassroomInvitationIDEntity> ::=
|
<ClassroomInvitationIDEntity> ::=
|
||||||
<ClassroomInvitationIDList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
<ClassroomInvitationIDList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
||||||
<ContactEntity> ::=
|
<ContactEntity> ::=
|
||||||
@@ -265,10 +271,6 @@ Data fields identified in a `csvkmd` argument.
|
|||||||
(first|last|allexceptfirst|allexceptlast <Number>)|
|
(first|last|allexceptfirst|allexceptlast <Number>)|
|
||||||
(before|after <Time>) | (range <Time> <Time>)|
|
(before|after <Time>) | (range <Time> <Time>)|
|
||||||
<FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
<FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
||||||
<DriveLabelNameEntity> ::=
|
|
||||||
<DriveLabelNameList> | <FileSelector> | <CSVFileSelector> | <CSVDataSelector>
|
|
||||||
<DriveLabelPermissionNameEntity> ::=
|
|
||||||
<DriveLabelPermissionNameList> | <FileSelector> | <CSVFileSelector> | <CSVDataSelector>
|
|
||||||
<EmailAddressEntity> ::=
|
<EmailAddressEntity> ::=
|
||||||
<EmailAddressList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
<EmailAddressList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
||||||
<FilterIDEntity> ::=
|
<FilterIDEntity> ::=
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Collections of Users
|
# Collections of Users
|
||||||
- [Python Regular Expressions](Python-Regular-Expressions) Match function
|
- [Python Regular Expressions](Python-Regular-Expressions) Match function
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [List quoting rules](#list-quoting-rules)
|
- [List quoting rules](#list-quoting-rules)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Command data from Google Docs, Sheets and Cloud Storage
|
# Command data from Google Docs, Sheets and Cloud Storage
|
||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Read data from a Google Doc or Drive File](#read-data-from-a-google-doc-or-drive-file)
|
- [Read data from a Google Doc or Drive File](#read-data-from-a-google-doc-or-drive-file)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Command Line Parsing
|
# Command Line Parsing
|
||||||
- [Linux and MacOS](#linux-and-macos)
|
- [Linux and MacOS](#linux-and-macos)
|
||||||
- [Windows Command Prompt](#windows-command-prompt)
|
- [Windows Command Prompt](#windows-command-prompt)
|
||||||
- [Windows PowerShell](#windows-powershell)
|
- [Windows PowerShell](#windows-powershell)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Command Logging and Progress
|
# Command Logging and Progress
|
||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
- [GAM Configuration](gam.cfg)
|
- [GAM Configuration](gam.cfg)
|
||||||
- [Command Logging](#command-logging)
|
- [Command Logging](#command-logging)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Customer
|
# Customer
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Update customer](#update-customer)
|
- [Update customer](#update-customer)
|
||||||
|
|||||||
@@ -306,26 +306,10 @@ The `quotechar <Character>` option allows you to choose an alternate quote chara
|
|||||||
`quotechar` defaults to `gam.cfg/csv_output_quote_char`. When uploading CSV files to Google, double quote `"` should be used.
|
`quotechar` defaults to `gam.cfg/csv_output_quote_char`. When uploading CSV files to Google, double quote `"` should be used.
|
||||||
|
|
||||||
## Display global address list
|
## Display global address list
|
||||||
```
|
As of mid-October 2024, Google deprecated the API that retrieved the Global Address List.
|
||||||
gam info gal <ContactEntity>
|
|
||||||
[basic|full]
|
|
||||||
[fields <ContactFieldNameList>] [formatjson]
|
|
||||||
gam show gal <ContactSelection>
|
|
||||||
[basic|full] [orderby <ContactOrderByFieldName> [ascending|descending]]
|
|
||||||
[fields <ContactFieldNameList>] [formatjson]
|
|
||||||
```
|
|
||||||
By default, Gam displays the information as an indented list of keys and values.
|
|
||||||
* `formatjson` - Display the fields in JSON format.
|
|
||||||
```
|
|
||||||
gam print gal [todrive <ToDriveAttribute>*] <ContactSelection>
|
|
||||||
[basic|full] [orderby <ContactOrderByFieldName> [ascending|descending]]
|
|
||||||
[fields <ContactFieldNameList>] [formatjson [quotechar <Character>]]
|
|
||||||
```
|
|
||||||
By default, Gam displays the information as columns of fields.
|
|
||||||
* `formatjson` - Display the fields in JSON format.
|
|
||||||
|
|
||||||
By default, when writing CSV files, Gam uses a quote character of double quote `"`. The quote character is used to enclose columns that contain
|
These commands are a work-around.
|
||||||
the quote character itself, the column delimiter (comma by default) and new-line characters. Any quote characters within the column are doubled.
|
```
|
||||||
When using the `formatjson` option, double quotes are used extensively in the data resulting in hard to read/process output.
|
gam config csv_output_row_filter "includeInGlobalAddressList:boolean:true" redirect csv ./UserGAL.csv print users fields name,gal
|
||||||
The `quotechar <Character>` option allows you to choose an alternate quote character, single quote for instance, that makes for readable/processable output.
|
gam config csv_output_row_filter "includeInGlobalAddressList:boolean:true" batch_size 25 redirect csv ./GroupGAL.csv print groups fields name,gal
|
||||||
`quotechar` defaults to `gam.cfg/csv_output_quote_char`. When uploading CSV files to Google, double quote `"` should be used.
|
```
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Domains - Verification
|
# Domains - Verification
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Domains
|
# Domains
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Create a domain](#create-a-domain)
|
- [Create a domain](#create-a-domain)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Downloads-Installs-GAM7
|
# Downloads-Installs-GAM7
|
||||||
You can download and install the current GAM7 release from the [GitHub Releases](https://github.com/GAM-team/GAM/releases/latest) page.
|
You can download and install the current GAM7 release from the [GitHub Releases](https://github.com/GAM-team/GAM/releases/latest) page.
|
||||||
Choose one of the following:
|
Choose one of the following:
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Drive Items
|
# Drive Items
|
||||||
- [Basic Items](Basic-Items)
|
- [Basic Items](Basic-Items)
|
||||||
- [List Items](List-Items)
|
- [List Items](List-Items)
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Email Audit Monitor
|
# Email Audit Monitor
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Notes](#notes)
|
- [Notes](#notes)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Find File Owner
|
# Find File Owner
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Display File Ownership](#display-file-ownership)
|
- [Display File Ownership](#display-file-ownership)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# GAM Return Codes
|
# GAM Return Codes
|
||||||
|
|
||||||
These are the return codes used by GAM7.
|
These are the return codes used by GAM7.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# GAM setup with minimal GCP permissions.
|
# GAM setup with minimal GCP permissions.
|
||||||
|
|
||||||
- GCP Admin can create a project for the Workspace / GAM admin.
|
- GCP Admin can create a project for the Workspace / GAM admin.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# GAM7 on Android Devices
|
# GAM7 on Android Devices
|
||||||
GAM7 now runs on 64-bit Android devices such as Google's Pixel phones. The installation requires an app that adds the Linux environment to Android such as [UserLAnd](https://play.google.com/store/apps/details?id=tech.ula&hl=en_US).
|
GAM7 now runs on 64-bit Android devices such as Google's Pixel phones. The installation requires an app that adds the Linux environment to Android such as [UserLAnd](https://play.google.com/store/apps/details?id=tech.ula&hl=en_US).
|
||||||
|
|
||||||
_Note: Chromebooks / Chrome OS devices should install GAM7 using [these instructions](GAM7-on-Chrome-OS-Devices)._
|
_Note: Chromebooks / Chrome OS devices should install GAM7 using [these instructions](GAM7-on-Chrome-OS-Devices)._
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# GAM7 on Chrome OS Devices
|
# GAM7 on Chrome OS Devices
|
||||||
Chrome OS devices that [support Linux apps](https://support.google.com/chromebook/answer/9145439?hl=en) can run GAM7. This includes Intel/AMD x86_64 Chromebooks as well as ARM-based Chromebooks with Mediatek or Rockchip 64-bit CPUs.
|
Chrome OS devices that [support Linux apps](https://support.google.com/chromebook/answer/9145439?hl=en) can run GAM7. This includes Intel/AMD x86_64 Chromebooks as well as ARM-based Chromebooks with Mediatek or Rockchip 64-bit CPUs.
|
||||||
|
|
||||||
1. [Set up Linux on your Chromebook](https://support.google.com/chromebook/answer/9145439?hl=en).
|
1. [Set up Linux on your Chromebook](https://support.google.com/chromebook/answer/9145439?hl=en).
|
||||||
|
|||||||
@@ -10,11 +10,83 @@ 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.00.28
|
### 7.00.38
|
||||||
|
|
||||||
Fix issue that cause print/show policies to fail on some group policies.
|
Fixed logic flaw in `gam print|show policies` where non-matching policies were displayed.
|
||||||
|
|
||||||
7.00.27
|
### 7.00.37
|
||||||
|
|
||||||
|
Added options `group <RegularExpression>` and `ou|org|orgunit <RegularExpression>`
|
||||||
|
to `gam print|show policies` that causes GAM to only display policies whose group email address
|
||||||
|
or OU path match the `<RegularExpression>`.
|
||||||
|
|
||||||
|
Updated `gam get|update|delete contactphotos` to use the People API for domain shared contact photos
|
||||||
|
as Google has deprecated the Domain Shared Contacts API for these commands. Unfortunately,
|
||||||
|
the People API fails with `gam update|delete contactphotos`.
|
||||||
|
|
||||||
|
### 7.00.36
|
||||||
|
|
||||||
|
Updated `gam print chromeapps` to correct a trap caused by an API change.
|
||||||
|
|
||||||
|
### 7.00.35
|
||||||
|
|
||||||
|
Classification labels are now available for Gmail in addition to Drive.
|
||||||
|
|
||||||
|
* See: https://workspaceupdates.googleblog.com/2024/11/open-beta-data-classification-labels-gmail.html
|
||||||
|
|
||||||
|
The following command synonyms are available, there is no change in functionality:
|
||||||
|
```
|
||||||
|
gam [<UserTypeEntity>] info classificationlabels|drivelabels
|
||||||
|
gam [<UserTypeEntity>] print classificationlabels|drivelabels
|
||||||
|
gam [<UserTypeEntity>] show classificationlabels|drivelabels
|
||||||
|
gam [<UserTypeEntity>] create classificationlabelpermission|drivelabelpermission
|
||||||
|
gam [<UserTypeEntity>] delete classificationlabelpermission|drivelabelpermission
|
||||||
|
gam [<UserTypeEntity>] remove classificationlabelpermission|drivelabelpermission
|
||||||
|
gam [<UserTypeEntity>] print classificationlabelpermissions|drivelabelpermission
|
||||||
|
gam [<UserTypeEntity>] show classificationlabelpermissions|drivelabelpermission
|
||||||
|
```
|
||||||
|
|
||||||
|
### 7.00.34
|
||||||
|
|
||||||
|
Fixed bug introduced in 7.00.33 in `gam print group-members` that caused a trap.
|
||||||
|
|
||||||
|
### 7.00.33
|
||||||
|
|
||||||
|
Fixed bug in `gam print group-members ... cachememberinfo` that caused a trap.
|
||||||
|
|
||||||
|
### 7.00.32
|
||||||
|
|
||||||
|
Updated `gam info policies` to accept different policy specifications:
|
||||||
|
* `polices/<String>` - A policy name, `policies/ahv4hg7qc24kvaghb7zihwf4riid4`
|
||||||
|
* `settings/<String>` - A policy setting type, `settings/workspace_marketplace.apps_allowlist`
|
||||||
|
* `<String>` - A policy setting type, `workspace_marketplace.apps_allowlist`
|
||||||
|
|
||||||
|
### 7.00.31
|
||||||
|
|
||||||
|
Updated `gam info|print|show policies` to make additional API calls for `settings/workspace_marketplace.apps_allowlist`
|
||||||
|
to get the application name for the application ID. Use option `noappnames` to suppress these calls.
|
||||||
|
|
||||||
|
### 7.00.30
|
||||||
|
|
||||||
|
Added command to display selected Cloud Identity policies.
|
||||||
|
```
|
||||||
|
gam info policies <CIPolicyNameEntity>
|
||||||
|
[nowarnings]
|
||||||
|
[formatjson]
|
||||||
|
```
|
||||||
|
|
||||||
|
Removed option `name <CIPolicyName>` from `gam print|show policies`; use `info policies`.
|
||||||
|
|
||||||
|
### 7.00.29
|
||||||
|
|
||||||
|
Added option `name <CIPolicyName>` to `gam print|show policies` that displays
|
||||||
|
information about a specific policy.
|
||||||
|
|
||||||
|
### 7.00.28
|
||||||
|
|
||||||
|
Fixed issue that caused `gam print/show policies` to fail on some group policies.
|
||||||
|
|
||||||
|
### 7.00.27
|
||||||
|
|
||||||
Updated `gam <UserTypeEntity> collect orphans` and all commands that print file paths to recognize
|
Updated `gam <UserTypeEntity> collect orphans` and all commands that print file paths to recognize
|
||||||
that a file owned by a user that has no parents is not an orphan if `sharedWithMeTime` is set.
|
that a file owned by a user that has no parents is not an orphan if `sharedWithMeTime` is set.
|
||||||
@@ -24,12 +96,11 @@ user A's access to the folder.
|
|||||||
Added commands to display Cloud Identity policies.
|
Added commands to display Cloud Identity policies.
|
||||||
```
|
```
|
||||||
gam print policies [todrive <ToDriveAttribute>*]
|
gam print policies [todrive <ToDriveAttribute>*]
|
||||||
(query <String>) [nowarnings]
|
(filter <String>) [nowarnings]
|
||||||
[formatjson [quotechar <Character>]]
|
[formatjson [quotechar <Character>]]
|
||||||
gam show policies (query <String>) [nowarnings]
|
gam show policies (filter <String>) [nowarnings]
|
||||||
[formatjson]
|
[formatjson]
|
||||||
```
|
```
|
||||||
|
|
||||||
### 7.00.26
|
### 7.00.26
|
||||||
|
|
||||||
Updated `drive_dir` in `gam.cfg` to allow the value `.` that causes `redirect csv|stdout|stderr <FileName>`
|
Updated `drive_dir` in `gam.cfg` to allow the value `.` that causes `redirect csv|stdout|stderr <FileName>`
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Google Data Transfers
|
# Google Data Transfers
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Display transfer apps](#display-transfer-apps)
|
- [Display transfer apps](#display-transfer-apps)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Google Network Addresses
|
# Google Network Addresses
|
||||||
|
|
||||||
All GAM calls are made on port 443 (HTTPS) to the following addresses:
|
All GAM calls are made on port 443 (HTTPS) to the following addresses:
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# HTTPS Proxy
|
# HTTPS Proxy
|
||||||
|
|
||||||
GAM should be run on a server with direct access to talk to Google servers via the Internet.
|
GAM should be run on a server with direct access to talk to Google servers via the Internet.
|
||||||
However, if you must push GAM traffic through an HTTPS proxy this can be done by setting the HTTPS_PROXY environment variable.
|
However, if you must push GAM traffic through an HTTPS proxy this can be done by setting the HTTPS_PROXY environment variable.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Installing GAM7
|
# Installing GAM7
|
||||||
Use these steps if you have never used any version of GAM in your domain. They will create your GAM project
|
Use these steps if you have never used any version of GAM in your domain. They will create your GAM project
|
||||||
and all necessary authentications.
|
and all necessary authentications.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Uninstalling GAM7
|
# Uninstalling GAM7
|
||||||
|
|
||||||
- [Get Project Info](#get-project-info)
|
- [Get Project Info](#get-project-info)
|
||||||
- [Remove Client API access](#remove-client-api-access)
|
- [Remove Client API access](#remove-client-api-access)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Updating GAM7
|
# Updating GAM7
|
||||||
Use these steps to update your version of GAM7.
|
Use these steps to update your version of GAM7.
|
||||||
|
|
||||||
- [Downloads-Installs](Downloads-Installs)
|
- [Downloads-Installs](Downloads-Installs)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Installation - Upgrading from Legacy GAM
|
# Installation - Upgrading from Legacy GAM
|
||||||
Use these steps if you have used any version of GAM in your domain. They will update your GAM project
|
Use these steps if you have used any version of GAM in your domain. They will update your GAM project
|
||||||
and all necessary authentications.
|
and all necessary authentications.
|
||||||
|
|
||||||
@@ -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.00.26 - https://github.com/GAM-team/GAM - pyinstaller
|
GAM 7.00.38 - https://github.com/GAM-team/GAM - pyinstaller
|
||||||
GAM Team <google-apps-manager@googlegroups.com>
|
GAM Team <google-apps-manager@googlegroups.com>
|
||||||
Python 3.13.0 64-bit final
|
Python 3.13.0 64-bit final
|
||||||
MacOS Sonoma 14.5 x86_64
|
MacOS Sonoma 14.5 x86_64
|
||||||
@@ -923,7 +923,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
|
||||||
GAM7 7.00.26 - https://github.com/GAM-team/GAM - pythonsource
|
GAM7 7.00.38 - https://github.com/GAM-team/GAM - pythonsource
|
||||||
GAM Team <google-apps-manager@googlegroups.com>
|
GAM Team <google-apps-manager@googlegroups.com>
|
||||||
Python 3.13.0 64-bit final
|
Python 3.13.0 64-bit final
|
||||||
Windows-10-10.0.17134 AMD64
|
Windows-10-10.0.17134 AMD64
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Inbound SSO
|
# Inbound SSO
|
||||||
- [Admin Console](#admin-console)
|
- [Admin Console](#admin-console)
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Licenses
|
# Licenses
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [License Products and SKUs](#license-products-and-skus)
|
- [License Products and SKUs](#license-products-and-skus)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# List Items
|
# List Items
|
||||||
- [Lists of basic items](#lists-of-basic-items)
|
- [Lists of basic items](#lists-of-basic-items)
|
||||||
- [List quoting rules](#list-quoting-rules)
|
- [List quoting rules](#list-quoting-rules)
|
||||||
- [Basic Items](Basic-Items)
|
- [Basic Items](Basic-Items)
|
||||||
@@ -13,6 +13,12 @@
|
|||||||
<ChatSpaceList> ::= "<ChatSpace>(,<ChatSpace>)*"
|
<ChatSpaceList> ::= "<ChatSpace>(,<ChatSpace>)*"
|
||||||
<CIGroupAliasList> ::= "<CIGroupAlias>(,<CIGroupAlias>)*"
|
<CIGroupAliasList> ::= "<CIGroupAlias>(,<CIGroupAlias>)*"
|
||||||
<CIGroupTypeList> ::= "<CIGroupType>(,<CIGroupType>)*"
|
<CIGroupTypeList> ::= "<CIGroupType>(,<CIGroupType>)*"
|
||||||
|
<CIPolicyNameList> ::= "<CIPolicyName>(,<CIPolicyName>)*"
|
||||||
|
<ClassificationLabelIDList> ::= "<ClassificationLabelID>(,<ClassificationLabelID>)*"
|
||||||
|
<ClassificationLabelNameList> ::= "<ClassificationLabelName>(,<ClassificationLabelName>)*"
|
||||||
|
<ClassificationLabelPermissionNameList> ::= "<ClassificationLabelPermissionName>(,<ClassificationLabelPermissionName>)*"
|
||||||
|
<ClassificationLabelFieldIDList> ::= "<ClassificationLabelFieldID>(,<ClassificationLabelFieldID>)*"
|
||||||
|
<ClassificationLabelSelectionIDList> ::= "<ClassificationLabelSelectionID>(,<ClassificationLabelSelectionID>)*"
|
||||||
<ClassroomInvitationIDList> ::= "<ClassroomInvitationID>(,<ClassroomInvitationID>)*"
|
<ClassroomInvitationIDList> ::= "<ClassroomInvitationID>(,<ClassroomInvitationID>)*"
|
||||||
<ContactGroupList> ::= "<ContactGroupItem>(,<ContactGroupItem>)*"
|
<ContactGroupList> ::= "<ContactGroupItem>(,<ContactGroupItem>)*"
|
||||||
<ContactIDList> ::= "<ContactID>(,<ContactID>)*"
|
<ContactIDList> ::= "<ContactID>(,<ContactID>)*"
|
||||||
@@ -41,11 +47,6 @@
|
|||||||
<DriveFileRevisionIDList> ::= "<DriveFileRevisionID>(,<DriveFileRevisionID>)*"
|
<DriveFileRevisionIDList> ::= "<DriveFileRevisionID>(,<DriveFileRevisionID>)*"
|
||||||
<DriveFolderIDList> ::= "<DriveFolderID>(,<DriveFolderID>)*"
|
<DriveFolderIDList> ::= "<DriveFolderID>(,<DriveFolderID>)*"
|
||||||
<DriveFolderNameList> ::= "<DriveFolderName>(,<DriveFolderName>)*"
|
<DriveFolderNameList> ::= "<DriveFolderName>(,<DriveFolderName>)*"
|
||||||
<DriveLabelIDList> ::= "<DriveLabelID>(,<DriveLabelID>)*"
|
|
||||||
<DriveLabelNameList> ::= "<DriveLabelName>(,<DriveLabelName>)*"
|
|
||||||
<DriveLabelPermissionNameList> ::= "<DriveLabelPermissionName>(,<DriveLabelPermissionName>)*"
|
|
||||||
<DriveLabelFieldIDList> ::= "<DriveLabelFieldID>(,<DriveLabelFieldID>)*"
|
|
||||||
<DriveLabelSelectionIDList> ::= "<DriveLabelSelectionID>(,<DriveLabelSelectionID>)*"
|
|
||||||
<EmailAddressList> ::= "<EmailAddress>(,<EmailAddress>)*"
|
<EmailAddressList> ::= "<EmailAddress>(,<EmailAddress>)*"
|
||||||
<EmailItemList> ::= "<EmailItem>(,<EmailItem>)*"
|
<EmailItemList> ::= "<EmailItem>(,<EmailItem>)*"
|
||||||
<EventIDList> ::= "<EventID>(,<EventID>)*"
|
<EventIDList> ::= "<EventID>(,<EventID>)*"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# List
|
# List
|
||||||
|
|
||||||
The list command is used to verify collections of objects.
|
The list command is used to verify collections of objects.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Meta Commands and File Redirection
|
# Meta Commands and File Redirection
|
||||||
|
|
||||||
- [GAM Configuration](gam.cfg)
|
- [GAM Configuration](gam.cfg)
|
||||||
- [Todrive](Todrive)
|
- [Todrive](Todrive)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Mobile Devices
|
# Mobile Devices
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Query documentation](#query-documentation)
|
- [Query documentation](#query-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Organizational Units
|
# Organizational Units
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Special quoting](#special-quoting)
|
- [Special quoting](#special-quoting)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Other Resources
|
# Other Resources
|
||||||
|
|
||||||
The following are links to contributions of others in support of GAM7.
|
The following are links to contributions of others in support of GAM7.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Permission Matches
|
# Permission Matches
|
||||||
- [Python Regular Expressions](Python-Regular-Expressions) Match function
|
- [Python Regular Expressions](Python-Regular-Expressions) Match function
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [File Selection](#file-selection)
|
- [File Selection](#file-selection)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Python Regular Expressions
|
# Python Regular Expressions
|
||||||
- [Documentation](#documentation)
|
- [Documentation](#documentation)
|
||||||
- [Match function](#match-function)
|
- [Match function](#match-function)
|
||||||
- [Sub function](#sub-function)
|
- [Sub function](#sub-function)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Rclone
|
# Rclone
|
||||||
|
|
||||||
GAM7 has the capability to upload and download single files between your local computer and Google Drive;
|
GAM7 has the capability to upload and download single files between your local computer and Google Drive;
|
||||||
it has no capability for uploading and dowloading folders. For this you can use Rclone: https://rclone.org/
|
it has no capability for uploading and dowloading folders. For this you can use Rclone: https://rclone.org/
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Reseller
|
# Reseller
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Notes](#notes)
|
- [Notes](#notes)
|
||||||
- [Manage Multiple Domains](#manage-multiple-domains)
|
- [Manage Multiple Domains](#manage-multiple-domains)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# SSL Root CA Certificates
|
# SSL Root CA Certificates
|
||||||
|
|
||||||
For an overall discussion of SSL, see: https://sites.google.com/site/x509certificateusage/
|
For an overall discussion of SSL, see: https://sites.google.com/site/x509certificateusage/
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Scripts
|
# Scripts
|
||||||
|
|
||||||
These scripts can be used to enhance GAM's capabilities; all are supported with Advanced GAM,
|
These scripts can be used to enhance GAM's capabilities; all are supported with Advanced GAM,
|
||||||
many are supported with Legacy GAM. They require that Python 3 be installed on you computer.
|
many are supported with Legacy GAM. They require that Python 3 be installed on you computer.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Tag Replace
|
# Tag Replace
|
||||||
- [Python Regular Expressions](Python-Regular-Expressions) Sub function
|
- [Python Regular Expressions](Python-Regular-Expressions) Sub function
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Todrive
|
# Todrive
|
||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Config file options](#config-file-options)
|
- [Config file options](#config-file-options)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Unmanaged Accounts
|
# Unmanaged Accounts
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Notes](#notes)
|
- [Notes](#notes)
|
||||||
- [Collections of Users](Collections-of-Users)
|
- [Collections of Users](Collections-of-Users)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Upgrade Benefits
|
# Upgrade Benefits
|
||||||
- [Configuration](#Configuration)
|
- [Configuration](#Configuration)
|
||||||
- [Syntax Checking](#syntax-checking)
|
- [Syntax Checking](#syntax-checking)
|
||||||
- [API error checking](#api-error-checking)
|
- [API error checking](#api-error-checking)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Analytics Admin
|
# Users - Analytics Admin
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Notes](#notes)
|
- [Notes](#notes)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Application Specific Passwords
|
# Users - Application Specific Passwords
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Manage application specific passwords](#manage-application-specific-passwords)
|
- [Manage application specific passwords](#manage-application-specific-passwords)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Backup Verification Codes
|
# Users - Backup Verification Codes
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Manage backup verification codes](#manage-backup-verification-codes)
|
- [Manage backup verification codes](#manage-backup-verification-codes)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Calendars - Access
|
# Users - Calendars - Access
|
||||||
- [Notes](#Notes)
|
- [Notes](#Notes)
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -91,6 +91,10 @@
|
|||||||
|
|
||||||
<JSONData> ::= (json [charset <Charset>] <String>) | (json file <FileName> [charset <Charset>]) |
|
<JSONData> ::= (json [charset <Charset>] <String>) | (json file <FileName> [charset <Charset>]) |
|
||||||
|
|
||||||
|
<CalendarItem> ::= <EmailAddress>
|
||||||
|
<CalendarList> ::= "<CalendarItem>(,<CalendarItem>)*"
|
||||||
|
<CalendarEntity> ::= <CalendarList> | <FileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
||||||
|
See: https://github.com/GAM-team/GAM/wiki/Collections-of-Items
|
||||||
<DomainName> ::= <String>(.<String>)+
|
<DomainName> ::= <String>(.<String>)+
|
||||||
<EmailAddress> ::= <String>@<DomainName>
|
<EmailAddress> ::= <String>@<DomainName>
|
||||||
<EmailAddressList> ::= "<EmailAddress>(,<EmailAddress>)*"
|
<EmailAddressList> ::= "<EmailAddress>(,<EmailAddress>)*"
|
||||||
@@ -98,13 +102,12 @@
|
|||||||
<EmailAddressList> | <FileSelector> | <CSVFileSelector> |
|
<EmailAddressList> | <FileSelector> | <CSVFileSelector> |
|
||||||
<CSVkmdSelector> | <CSVDataSelector>
|
<CSVkmdSelector> | <CSVDataSelector>
|
||||||
See: https://github.com/GAM-team/GAM/wiki/Collections-of-Users
|
See: https://github.com/GAM-team/GAM/wiki/Collections-of-Users
|
||||||
<CalendarItem> ::= <EmailAddress>
|
|
||||||
<CalendarList> ::= "<CalendarItem>(,<CalendarItem>)*"
|
|
||||||
<CourseAlias> ::= <String>
|
<CourseAlias> ::= <String>
|
||||||
<CourseID> ::= <Number>|d:<CourseAlias>
|
<CourseID> ::= <Number>|d:<CourseAlias>
|
||||||
<CourseIDList> ::= "<CourseID>(,<CourseID>)*"
|
<CourseIDList> ::= "<CourseID>(,<CourseID>)*"
|
||||||
<CourseState> ::= active|archived|provisioned|declined
|
<CourseState> ::= active|archived|provisioned|declined
|
||||||
<CourseStateList> ::= all|"<CourseState>(,<CourseState>)*"
|
<CourseStateList> ::= all|"<CourseState>(,<CourseState>)*"
|
||||||
|
<iCalUID> ::= <String>
|
||||||
<ResourceID> ::= <String>
|
<ResourceID> ::= <String>
|
||||||
<ResourceIDList> ::= "<ResourceID>(,<ResourceID>)*"
|
<ResourceIDList> ::= "<ResourceID>(,<ResourceID>)*"
|
||||||
<UniqueID> ::= id:<String>
|
<UniqueID> ::= id:<String>
|
||||||
@@ -122,7 +125,7 @@
|
|||||||
allcalendars|
|
allcalendars|
|
||||||
primary|
|
primary|
|
||||||
<EmailAddress>|
|
<EmailAddress>|
|
||||||
<UniqueUD>|
|
<UniqueID>|
|
||||||
(courses <CourseIDList>)|
|
(courses <CourseIDList>)|
|
||||||
((courses_with_teacher <UserItem>)|my_courses_as_teacher
|
((courses_with_teacher <UserItem>)|my_courses_as_teacher
|
||||||
[coursestates <CourseStateList>])|
|
[coursestates <CourseStateList>])|
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
- [Display calendar UI settings](#display-calendar-ui-settings)
|
- [Display calendar UI settings](#display-calendar-ui-settings)
|
||||||
- [Manage calendars](#manage-calendars)
|
- [Manage calendars](#manage-calendars)
|
||||||
- [Create and remove calendars](#create-and-remove-calendars)
|
- [Create and remove calendars](#create-and-remove-calendars)
|
||||||
- [Display calendar settings](#display-calendar-settings)
|
|
||||||
- [Modify calendar settings](#modify-calendar-settings)
|
- [Modify calendar settings](#modify-calendar-settings)
|
||||||
|
- [Display calendar settings](#display-calendar-settings)
|
||||||
- [Manage calendar lists](#manage-calendar-lists)
|
- [Manage calendar lists](#manage-calendar-lists)
|
||||||
- [Display specific calendars from list](#display-specific-calendars-from-list)
|
- [Display specific calendars from list](#display-specific-calendars-from-list)
|
||||||
- [Display calendar lists](#display-calendar-lists)
|
- [Display calendar lists](#display-calendar-lists)
|
||||||
@@ -23,6 +23,8 @@
|
|||||||
<EmailAddress> ::= <String>@<DomainName>
|
<EmailAddress> ::= <String>@<DomainName>
|
||||||
<CalendarItem> ::= <EmailAddress>
|
<CalendarItem> ::= <EmailAddress>
|
||||||
<CalendarList> ::= "<CalendarItem>(,<CalendarItem>)*"
|
<CalendarList> ::= "<CalendarItem>(,<CalendarItem>)*"
|
||||||
|
<CalendarEntity> ::= <CalendarList> | <FileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
||||||
|
See: https://github.com/taers232c/GAMADV-XTD3/wiki/Collections-of-Items
|
||||||
<CourseAlias> ::= <String>
|
<CourseAlias> ::= <String>
|
||||||
<CourseID> ::= <Number>|d:<CourseAlias>
|
<CourseID> ::= <Number>|d:<CourseAlias>
|
||||||
<CourseIDList> ::= "<CourseID>(,<CourseID>)*"
|
<CourseIDList> ::= "<CourseID>(,<CourseID>)*"
|
||||||
@@ -38,6 +40,21 @@
|
|||||||
<CalendarACLRole> ::=
|
<CalendarACLRole> ::=
|
||||||
editor|freebusy|freebusyreader|owner|reader|writer
|
editor|freebusy|freebusyreader|owner|reader|writer
|
||||||
|
|
||||||
|
<CalendarSettings> ::=
|
||||||
|
(description <String>)|
|
||||||
|
(location <String>)|
|
||||||
|
(summary <String>)|
|
||||||
|
(timezone <TimeZone>)
|
||||||
|
|
||||||
|
<CalendarSettingsField> ::=
|
||||||
|
conferenceproperties|
|
||||||
|
description|
|
||||||
|
id|
|
||||||
|
location|
|
||||||
|
summary|
|
||||||
|
timezone
|
||||||
|
<CalendarSettingsFieldList> ::= "<CalendarSettingsField>(,<CalendarSettingsField>)*"
|
||||||
|
|
||||||
<CalendarSelectProperty> ::=
|
<CalendarSelectProperty> ::=
|
||||||
minaccessrole <CalendarACLRole>|
|
minaccessrole <CalendarACLRole>|
|
||||||
showdeleted|
|
showdeleted|
|
||||||
@@ -111,12 +128,6 @@
|
|||||||
(selected <Boolean>)|
|
(selected <Boolean>)|
|
||||||
(summary <String>)
|
(summary <String>)
|
||||||
|
|
||||||
<CalendarSettings> ::=
|
|
||||||
(description <String>)|
|
|
||||||
(location <String>)|
|
|
||||||
(summary <String>)|
|
|
||||||
(timezone <TimeZone>)
|
|
||||||
|
|
||||||
<CalendarListField> ::=
|
<CalendarListField> ::=
|
||||||
accessrole|
|
accessrole|
|
||||||
backgroundcolor|
|
backgroundcolor|
|
||||||
@@ -189,18 +200,30 @@ gam <UserTypeEntity> create calendar <CalendarSettings>
|
|||||||
gam <UserTypeEntity> remove calendars <UserCalendarEntity>
|
gam <UserTypeEntity> remove calendars <UserCalendarEntity>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Display calendar settings
|
|
||||||
```
|
|
||||||
gam <UserTypeEntity> info calendars <UserCalendarEntity> [formatjson]
|
|
||||||
```
|
|
||||||
By default, Gam displays the information as an indented list of keys and values.
|
|
||||||
* `formatjson` - Display the fields in JSON format.
|
|
||||||
|
|
||||||
### Modify calendar settings
|
### Modify calendar settings
|
||||||
```
|
```
|
||||||
gam <UserTypeEntity> modify calendars <UserCalendarEntity> <CalendarSettings>
|
gam <UserTypeEntity> modify calendars <UserCalendarEntity> <CalendarSettings>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Display calendar settings
|
||||||
|
```
|
||||||
|
gam calendar <CalendarEntity> show settings
|
||||||
|
[fields <CalendarSettingsFieldList>]
|
||||||
|
[formatjson]
|
||||||
|
```
|
||||||
|
By default, Gam displays the information as an indented list of keys and values.
|
||||||
|
* `formatjson` - Display the fields in JSON format.
|
||||||
|
```
|
||||||
|
gam calendar <CalendarEntity> print settings [todrive <ToDriveAttribute>*]
|
||||||
|
[fields <CalendarSettingsFieldList>]
|
||||||
|
[formatjson [quotechar <Character>]]
|
||||||
|
```
|
||||||
|
By default, when writing CSV files, Gam uses a quote character of double quote `"`. The quote character is used to enclose columns that contain
|
||||||
|
the quote character itself, the column delimiter (comma by default) and new-line characters. Any quote characters within the column are doubled.
|
||||||
|
When using the `formatjson` option, double quotes are used extensively in the data resulting in hard to read/process output.
|
||||||
|
The `quotechar <Character>` option allows you to choose an alternate quote character, single quote for instance, that makes for readable/processable output.
|
||||||
|
`quotechar` defaults to `gam.cfg/csv_output_quote_char`. When uploading CSV files to Google, double quote `"` should be used.
|
||||||
|
|
||||||
## Manage calendar lists
|
## Manage calendar lists
|
||||||
These commands manage a user's list of calendars.
|
These commands manage a user's list of calendars.
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Chat
|
# Users - Chat
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
- [Set up a Chat Bot](#set-up-a-chat-bot)
|
- [Set up a Chat Bot](#set-up-a-chat-bot)
|
||||||
|
|||||||
@@ -1,20 +1,20 @@
|
|||||||
!# Users - Drive - Labels
|
# Users - Classification Labels
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Query documentation](Users-Drive-Query)
|
- [Query documentation](Users-Drive-Query)
|
||||||
- [Notes](#notes)
|
- [Notes](#notes)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
- [Display Drive Labels](#display-drive-labels)
|
- [Display Classification Labels](#display-classification-labels)
|
||||||
- [Process File Drive Labels](#process-file-drive-labels)
|
- [Manage Classification Label Permissions](#manage-classification-label-permissions)
|
||||||
- [Manage Drive Label Permissions](#manage-drive-label-permissions)
|
- [Display Classification Label Permissions](#display-classification-label-permissions)
|
||||||
- [Display Drive Label Permissions](#display-drive-label-permissions)
|
- [Process Drive File Classification Labels](#process-drive-file-classification-labels)
|
||||||
|
|
||||||
## API documentation
|
## API documentation
|
||||||
* https://support.google.com/a/answer/9292382
|
* https://support.google.com/a/answer/9292382
|
||||||
* https://developers.google.com/drive/labels/guides/overview
|
* https://developers.google.com/drive/labels/guides/overview
|
||||||
* https://developers.google.com/drive/labels/guides/authorize
|
* https://developers.google.com/drive/labels/guides/authorize
|
||||||
* https://developers.google.com/drive/labels/reference/rest/v2beta/labels
|
* https://developers.google.com/drive/labels/reference/rest/v2/labels
|
||||||
* https://developers.google.com/drive/labels/reference/rest/v2beta/labels.permissions
|
* https://developers.google.com/drive/labels/reference/rest/v2/labels.permissions
|
||||||
* https://developers.google.com/drive/api/guides/about-labels
|
* https://developers.google.com/drive/api/guides/about-labels
|
||||||
* https://developers.google.com/drive/api/v3/reference/files
|
* https://developers.google.com/drive/api/v3/reference/files
|
||||||
|
|
||||||
@@ -24,31 +24,39 @@ To use these commands you must add the 'Drive Labels API' to your project and up
|
|||||||
gam update project
|
gam update project
|
||||||
gam user user@domain.com update serviceaccount
|
gam user user@domain.com update serviceaccount
|
||||||
```
|
```
|
||||||
Supported editions for this feature: Business Standard and Business Plus; Enterprise; Education Standard and Education Plus; G Suite Business; Essentials.
|
Supported editions for this feature:
|
||||||
|
```
|
||||||
|
Frontline Starter and Frontline Standard
|
||||||
|
Business Standard and Business Plus
|
||||||
|
Enterprise Standard and Enterprise Plus
|
||||||
|
Education Standard and Education Plus
|
||||||
|
Essentials, Enterprise Essentials, and Enterprise Essentials Plus
|
||||||
|
G Suite Business
|
||||||
|
```
|
||||||
|
|
||||||
## Definitions
|
## Definitions
|
||||||
* [`<DriveFileEntity>`](Drive-File-Selection)
|
* [`<DriveFileEntity>`](Drive-File-Selection)
|
||||||
* [`<UserTypeEntity>`](Collections-of-Users)
|
* [`<UserTypeEntity>`](Collections-of-Users)
|
||||||
* [`<DriveLabelNameEntity>`, `<DriveLabelPermissionNameEntity'](Collections-of-Items)
|
* [`<ClassificationLabelNameEntity>`, `<ClassificationLabelPermissionNameEntity`](Collections-of-Items)
|
||||||
* [`<UserTypeEntity>`](Collections-of-Items)
|
* [`<UserTypeEntity>`](Collections-of-Items)
|
||||||
|
|
||||||
```
|
```
|
||||||
<DriveLabelID> ::= <String>
|
<ClassificationLabelID> ::= <String>
|
||||||
<DriveLabelIDList> ::= "<DriveLabelID>(,<DriveLabelID)*"
|
<ClassificationLabelIDList> ::= "<ClassificationLabelID>(,<ClassificationLabelID)*"
|
||||||
|
|
||||||
<DriveLabelName> ::= labels/<DriveLabelID>[@latest|@published|@<Number>]
|
<ClassificationLabelName> ::= labels/<ClassificationLabelID>[@latest|@published|@<Number>]
|
||||||
<DriveLabelNameList> ::= "<DriveLabelName>(,<DriveLabelName)*"
|
<ClassificationLabelNameList> ::= "<ClassificationLabelName>(,<ClassificationLabelName)*"
|
||||||
<DriveLabelNameEntity> ::=
|
<ClassificationLabelNameEntity> ::=
|
||||||
<DriveLabelNameList> | <FileSelector> | <CSVFileSelector> | <CSVDataSelector>
|
<ClassificationLabelNameList> | <FileSelector> | <CSVFileSelector> | <CSVDataSelector>
|
||||||
|
|
||||||
<DriveLabelPermissionName> ::= labels/<DriveLabelID>[@latest|@published|@<Number>]/permissions/(audiences|groups|people)/<String>
|
<ClassificationLabelPermissionName> ::= labels/<ClassificationLabelID>[@latest|@published|@<Number>]/permissions/(audiences|groups|people)/<String>
|
||||||
<DriveLabelPermissionNameList> ::= "<DriveLabelPermissionName>(,<DriveLabelPermissionName>)*"
|
<ClassificationLabelPermissionNameList> ::= "<ClassificationLabelPermissionName>(,<ClassificationLabelPermissionName>)*"
|
||||||
<DriveLabelPermissionNameEntity> ::=
|
<ClassificationLabelPermissionNameEntity> ::=
|
||||||
<DriveLabelPermissionNameList> | <FileSelector> | <CSVFileSelector> | <CSVDataSelector>
|
<ClassificationLabelPermissionNameList> | <FileSelector> | <CSVFileSelector> | <CSVDataSelector>
|
||||||
|
|
||||||
<DriveLabelFieldID> ::= <String>
|
<ClassificationLabelFieldID> ::= <String>
|
||||||
<DriveLabelSelectionID> ::= <String>
|
<ClassificationLabelSelectionID> ::= <String>
|
||||||
<DriveLabelSelectionIDList> ::= "<DriveLabelSelectionID>(,<DriveLabelSelectionID)*"
|
<ClassificationLabelSelectionIDList> ::= "<ClassificationLabelSelectionID>(,<ClassificationLabelSelectionID)*"
|
||||||
|
|
||||||
<BCP47LanguageCode> ::=
|
<BCP47LanguageCode> ::=
|
||||||
ar-sa| # Arabic Saudi Arabia
|
ar-sa| # Arabic Saudi Arabia
|
||||||
@@ -99,10 +107,10 @@ Three forms of the commands are available:
|
|||||||
* `gam <UserTypeEntity> action ... adminaccess` - The user named in `<UserTypeEntty>` is used, adminaccess indicates that labels of type `SHARED` and `ADMIN`can be processed
|
* `gam <UserTypeEntity> action ... adminaccess` - The user named in `<UserTypeEntty>` is used, adminaccess indicates that labels of type `SHARED` and `ADMIN`can be processed
|
||||||
* `gam <UserTypeEntity> action ...` - The user named in `<UserTypeEntty>` is used, access is limited, onlylabels of type `SHARED` can be processed
|
* `gam <UserTypeEntity> action ...` - The user named in `<UserTypeEntty>` is used, access is limited, onlylabels of type `SHARED` can be processed
|
||||||
|
|
||||||
## Display Drive Labels
|
## Display Classification Labels
|
||||||
|
|
||||||
```
|
```
|
||||||
gam [<UserTypeEntity>] info drivelabels <DriveLabelNameEntity>
|
gam [<UserTypeEntity>] info classificationlabels <ClassificationLabelNameEntity>
|
||||||
[[basic|full] [languagecode <BCP47LanguageCode>]
|
[[basic|full] [languagecode <BCP47LanguageCode>]
|
||||||
[formatjson] [adminaccess|asadmin]
|
[formatjson] [adminaccess|asadmin]
|
||||||
```
|
```
|
||||||
@@ -115,7 +123,7 @@ By default, Gam displays the information as an indented list of keys and values.
|
|||||||
* `formatjson` - Display the fields in JSON format.
|
* `formatjson` - Display the fields in JSON format.
|
||||||
|
|
||||||
```
|
```
|
||||||
gam [<UserTypeEntity>] show drivelabels
|
gam [<UserTypeEntity>] show classificationlabels
|
||||||
[basic|full] [languagecode <BCP47LanguageCode>]
|
[basic|full] [languagecode <BCP47LanguageCode>]
|
||||||
[publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
[publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
||||||
[formatjson] [adminaccess|asadmin]
|
[formatjson] [adminaccess|asadmin]
|
||||||
@@ -130,7 +138,7 @@ By default, Gam displays the information as an indented list of keys and values.
|
|||||||
* `formatjson` - Display the fields in JSON format.
|
* `formatjson` - Display the fields in JSON format.
|
||||||
|
|
||||||
```
|
```
|
||||||
gam [<UserTypeEntity>] print drivelabels [todrive <ToDriveAttribute>*]
|
gam [<UserTypeEntity>] print classificationlabels [todrive <ToDriveAttribute>*]
|
||||||
[basic|full] [languagecode <BCP47LanguageCode>]
|
[basic|full] [languagecode <BCP47LanguageCode>]
|
||||||
[publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
[publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
||||||
[formatjson [quotechar <Character>]] [adminaccess|asadmin]
|
[formatjson [quotechar <Character>]] [adminaccess|asadmin]
|
||||||
@@ -150,25 +158,10 @@ When using the `formatjson` option, double quotes are used extensively in the da
|
|||||||
The `quotechar <Character>` option allows you to choose an alternate quote character, single quote for instance, that makes for readable/processable output.
|
The `quotechar <Character>` option allows you to choose an alternate quote character, single quote for instance, that makes for readable/processable output.
|
||||||
`quotechar` defaults to `gam.cfg/csv_output_quote_char`. When uploading CSV files to Google, double quote `"` should be used.
|
`quotechar` defaults to `gam.cfg/csv_output_quote_char`. When uploading CSV files to Google, double quote `"` should be used.
|
||||||
|
|
||||||
## Process File Drive Labels
|
## Manage Classification Label Permissions
|
||||||
`<DriveLabelID>`, `<DriveLabelFieldID>` and `<DriveLabelSelectionID>` values are obtained from the commands above.
|
Create a permission for a Classification Label by specifying the label name and the principal.
|
||||||
```
|
```
|
||||||
gam <UserTypeEntity> process filedrivelabels <DriveFileEntity>
|
gam [<UserTypeEntity>] create classificationlabelpermission <ClassificationLabelNameEntity>
|
||||||
(addlabel <DriveLabelIDList>)*
|
|
||||||
(deletelabel <DriveLabelIDList>)*
|
|
||||||
(addlabelfield <DriveLabelID> <DriveLabelFieldID>
|
|
||||||
(text <String>)|selection <DriveLabelSelectionIDList>)|
|
|
||||||
(integer <Number>)|(date <Date>)|(user <EmailAddressList>))*
|
|
||||||
(deletelabelfield <DriveLabelID> <DriveLabelFieldID>)*
|
|
||||||
[nodetails]
|
|
||||||
```
|
|
||||||
|
|
||||||
By default, details of the process labels are displayed, use `nodetails` to suppress this display.
|
|
||||||
|
|
||||||
## Manage Drive Label Permissions
|
|
||||||
Create a permission for a Drive Label by specifying the label name and the principal.
|
|
||||||
```
|
|
||||||
gam [<UserTypeEntity>] create drivelabelpermission <DriveLabelNameEntity>
|
|
||||||
(user <UserItem>) | (group <GroupItem) | (audience <String>)
|
(user <UserItem>) | (group <GroupItem) | (audience <String>)
|
||||||
role applier|editor|organizer|reader
|
role applier|editor|organizer|reader
|
||||||
[nodetails|formatjson] [adminaccess|asadmin]
|
[nodetails|formatjson] [adminaccess|asadmin]
|
||||||
@@ -178,22 +171,22 @@ By default, when a permission is created, GAM outputs details of the permission
|
|||||||
* `nodetails` - Suppress the details output.
|
* `nodetails` - Suppress the details output.
|
||||||
* `formatjson` - Output the details in JSON format.
|
* `formatjson` - Output the details in JSON format.
|
||||||
|
|
||||||
Delete a Drive Label permission by specifying the label name and the principal.
|
Delete a Classification Label permission by specifying the label name and the principal.
|
||||||
```
|
```
|
||||||
gam [<UserTypeEntity>] delete drivelabelpermission <DriveLabelNameEntity>
|
gam [<UserTypeEntity>] delete classificationlabelpermission <ClassificationLabelNameEntity>
|
||||||
(user <UserItem>) | (group <GroupItem) | (audience <String>)
|
(user <UserItem>) | (group <GroupItem) | (audience <String>)
|
||||||
[adminaccess|asadmin]
|
[adminaccess|asadmin]
|
||||||
```
|
```
|
||||||
|
|
||||||
Delete a Drive Label permission by specifying the label permission name.
|
Delete a Classification Label permission by specifying the label permission name.
|
||||||
```
|
```
|
||||||
gam [<UserTypeEntity>] remove drivelabelpermission <DriveLabelPermissionNameEntity>
|
gam [<UserTypeEntity>] remove classificationlabelpermission <ClassificationLabelPermissionNameEntity>
|
||||||
[adminaccess|asadmin]
|
[adminaccess|asadmin]
|
||||||
```
|
```
|
||||||
## Display Drive Label Permissions
|
## Display Classification Label Permissions
|
||||||
Display permissions for a collection of Drive Label permission names.
|
Display permissions for a collection of Classification Label permission names.
|
||||||
```
|
```
|
||||||
gam [<UserTypeEntity>] show drivelabelpermissions <DriveLabelNameEntity>
|
gam [<UserTypeEntity>] show classificationlabelpermissions <ClassificationLabelNameEntity>
|
||||||
[formatjson] [adminaccess|asadmin]
|
[formatjson] [adminaccess|asadmin]
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -201,7 +194,7 @@ By default, Gam displays the information as an indented list of keys and values.
|
|||||||
* `formatjson` - Display the fields in JSON format.
|
* `formatjson` - Display the fields in JSON format.
|
||||||
|
|
||||||
```
|
```
|
||||||
gam [<UserTypeEntity>] print drivelabelpermissions <DriveLabelNameEntity> [todrive <ToDriveAttribute>*]
|
gam [<UserTypeEntity>] print classificationlabelpermissions <ClassificationLabelNameEntity> [todrive <ToDriveAttribute>*]
|
||||||
[formatjson [quotechar <Character>]] [adminaccess|asadmin]
|
[formatjson [quotechar <Character>]] [adminaccess|asadmin]
|
||||||
```
|
```
|
||||||
By default, Gam displays the information as columns of fields; the following option causes the output to be in JSON format,
|
By default, Gam displays the information as columns of fields; the following option causes the output to be in JSON format,
|
||||||
@@ -213,3 +206,17 @@ When using the `formatjson` option, double quotes are used extensively in the da
|
|||||||
The `quotechar <Character>` option allows you to choose an alternate quote character, single quote for instance, that makes for readable/processable output.
|
The `quotechar <Character>` option allows you to choose an alternate quote character, single quote for instance, that makes for readable/processable output.
|
||||||
`quotechar` defaults to `gam.cfg/csv_output_quote_char`. When uploading CSV files to Google, double quote `"` should be used.
|
`quotechar` defaults to `gam.cfg/csv_output_quote_char`. When uploading CSV files to Google, double quote `"` should be used.
|
||||||
|
|
||||||
|
## Process Drive File Classification Labels
|
||||||
|
`<ClassificationLabelID>`, `<ClassificationLabelFieldID>` and `<ClassificationLabelSelectionID>` values are obtained from the commands above.
|
||||||
|
```
|
||||||
|
gam <UserTypeEntity> process filedrivelabels <DriveFileEntity>
|
||||||
|
(addlabel <ClassificationLabelIDList>)*
|
||||||
|
(deletelabel <ClassificationLabelIDList>)*
|
||||||
|
(addlabelfield <ClassificationLabelID> <ClassificationLabelFieldID>
|
||||||
|
(text <String>)|selection <ClassificationLabelSelectionIDList>)|
|
||||||
|
(integer <Number>)|(date <Date>)|(user <EmailAddressList>))*
|
||||||
|
(deletelabelfield <ClassificationLabelID> <ClassificationLabelFieldID>)*
|
||||||
|
[nodetails]
|
||||||
|
```
|
||||||
|
|
||||||
|
By default, details of the process labels are displayed, use `nodetails` to suppress this display.
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Classroom - Profile
|
# Users - Classroom - Profile
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Display Classroom profile](#display-classroom-profile)
|
- [Display Classroom profile](#display-classroom-profile)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# User Contacts
|
# User Contacts
|
||||||
- [Notes](#notes)
|
- [Notes](#notes)
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Query documentation](#query-documentation)
|
- [Query documentation](#query-documentation)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Deprovision
|
# Users - Deprovision
|
||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Deprovision a user](#deprovision-a-user)
|
- [Deprovision a user](#deprovision-a-user)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Drive - Activity/Settings
|
# Users - Drive - Activity/Settings
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Query documentation](Users-Drive-Query)
|
- [Query documentation](Users-Drive-Query)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Drive - Cleanup
|
# Users - Drive - Cleanup
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Display empty folders](#display-empty-folders)
|
- [Display empty folders](#display-empty-folders)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Drive - Comments
|
# Users - Drive - Comments
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Query documentation](Users-Drive-Query)
|
- [Query documentation](Users-Drive-Query)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -416,7 +416,7 @@ gam <UserTypeEntity> show fileinfo <DriveFileEntity>
|
|||||||
[allfields|<DriveFieldName>*|(fields <DriveFieldNameList>)]
|
[allfields|<DriveFieldName>*|(fields <DriveFieldNameList>)]
|
||||||
(orderby <DriveFileOrderByFieldName> [ascending|descending])*
|
(orderby <DriveFileOrderByFieldName> [ascending|descending])*
|
||||||
[showdrivename] [showshareddrivepermissions]
|
[showdrivename] [showshareddrivepermissions]
|
||||||
[(showlabels details|ids)|(includelabels <DriveLabelIDList>)]
|
[(showlabels details|ids)|(includelabels <ClassificationLabelIDList>)]
|
||||||
[showparentsidsaslist] [followshortcuts [<Boolean>]]
|
[showparentsidsaslist] [followshortcuts [<Boolean>]]
|
||||||
[stripcrsfromname]
|
[stripcrsfromname]
|
||||||
[formatjson]
|
[formatjson]
|
||||||
@@ -426,7 +426,7 @@ gam <UserTypeEntity> info drivefile <DriveFileEntity>
|
|||||||
[allfields|<DriveFieldName>*|(fields <DriveFieldNameList>)]
|
[allfields|<DriveFieldName>*|(fields <DriveFieldNameList>)]
|
||||||
(orderby <DriveFileOrderByFieldName> [ascending|descending])*
|
(orderby <DriveFileOrderByFieldName> [ascending|descending])*
|
||||||
[showdrivename] [showshareddrivepermissions]
|
[showdrivename] [showshareddrivepermissions]
|
||||||
[(showlabels details|ids)|(includelabels <DriveLabelIDList>)]
|
[(showlabels details|ids)|(includelabels <ClassificationLabelIDList>)]
|
||||||
[showparentsidsaslist] [followshortcuts [<Boolean>]]
|
[showparentsidsaslist] [followshortcuts [<Boolean>]]
|
||||||
[stripcrsfromname]
|
[stripcrsfromname]
|
||||||
[formatjson]
|
[formatjson]
|
||||||
@@ -471,18 +471,18 @@ an API call per file is required to get the information.
|
|||||||
* `showlabels details`
|
* `showlabels details`
|
||||||
```
|
```
|
||||||
labels:
|
labels:
|
||||||
id: <DriveLabelID>
|
id: <ClassificationLabelID>
|
||||||
revisionId: <Number>
|
revisionId: <Number>
|
||||||
id: <DriveLabelID>
|
id: <ClassificationLabelID>
|
||||||
revisionId: <Number>
|
revisionId: <Number>
|
||||||
```
|
```
|
||||||
* `showlabels ids`
|
* `showlabels ids`
|
||||||
```
|
```
|
||||||
labelsIds: <DriveLabelID> <DriveLabelID> ...
|
labelsIds: <ClassificationLabelID> <ClassificationLabelID> ...
|
||||||
```
|
```
|
||||||
|
|
||||||
Starting in version 6.27.02, you can get Drive label information without an extra API call
|
Starting in version 6.27.02, you can get Drive label information without an extra API call
|
||||||
if you know the `<DriveLabelID>`s. Add `labelinfo` to your `fields` list and use `includelabels <DriveLabelIDList>`
|
if you know the `<ClassificationLabelID>`s. Add `labelinfo` to your `fields` list and use `includelabels <ClassificationLabelIDList>`
|
||||||
to specify the Drive labels.
|
to specify the Drive labels.
|
||||||
```
|
```
|
||||||
gam user user@domain.com show fileinfo <DriveFileEntity> fields id,name,mimetype,labelinfo includelabels "mRoha85IbwCRl490E00xGLvBsSbkwIiuZ6PRNNEbbFcb"
|
gam user user@domain.com show fileinfo <DriveFileEntity> fields id,name,mimetype,labelinfo includelabels "mRoha85IbwCRl490E00xGLvBsSbkwIiuZ6PRNNEbbFcb"
|
||||||
@@ -1079,7 +1079,7 @@ gam <UserTypeEntity> print|show filelist [todrive <ToDriveAttribute>*]
|
|||||||
[filepath|fullpath [folderpathonly [<Boolean>]] [pathdelimiter <Character>] [addpathstojson] [showdepth]] [buildtree]
|
[filepath|fullpath [folderpathonly [<Boolean>]] [pathdelimiter <Character>] [addpathstojson] [showdepth]] [buildtree]
|
||||||
[allfields|<DriveFieldName>*|(fields <DriveFieldNameList>)]
|
[allfields|<DriveFieldName>*|(fields <DriveFieldNameList>)]
|
||||||
[showdrivename] [showshareddrivepermissions]
|
[showdrivename] [showshareddrivepermissions]
|
||||||
[(showlabels details|ids)|(includelabels <DriveLabelIDList>)]
|
[(showlabels details|ids)|(includelabels <ClassificationLabelIDList>)]
|
||||||
[showparentsidsaslist] [showpermissionslast]
|
[showparentsidsaslist] [showpermissionslast]
|
||||||
(orderby <DriveFileOrderByFieldName> [ascending|descending])* [delimiter <Character>]
|
(orderby <DriveFileOrderByFieldName> [ascending|descending])* [delimiter <Character>]
|
||||||
[stripcrsfromname]
|
[stripcrsfromname]
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
- [Purge files](#purge-files)
|
- [Purge files](#purge-files)
|
||||||
- [Copy/Move Files](Users-Drive-Copy-Move)
|
- [Copy/Move Files](Users-Drive-Copy-Move)
|
||||||
- [Shortcuts](Users-Drive-Shortcuts)
|
- [Shortcuts](Users-Drive-Shortcuts)
|
||||||
- [Drive Labels](Users-Drive-Labels)
|
- [Classification Labels](Users-Classification-Labels)
|
||||||
- [Download Google Documents as JSON](#download-google-documents-as-json)
|
- [Download Google Documents as JSON](#download-google-documents-as-json)
|
||||||
- [Upload changes to Google Documents](#upload-changes-to-google-documents)
|
- [Upload changes to Google Documents](#upload-changes-to-google-documents)
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Drive - Orphans
|
# Users - Drive - Orphans
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Collect orphaned files](#collect-orphaned-files)
|
- [Collect orphaned files](#collect-orphaned-files)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Drive - Ownership
|
# Users - Drive - Ownership
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Query documentation](Users-Drive-Query)
|
- [Query documentation](Users-Drive-Query)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Drive - Query
|
# Users - Drive - Query
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Query documentation](#query-documentation)
|
- [Query documentation](#query-documentation)
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Drive - Revisions
|
# Users - Drive - Revisions
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Query documentation](Users-Drive-Query)
|
- [Query documentation](Users-Drive-Query)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Drive Shortcuts
|
# Users - Drive Shortcuts
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Query documentation](Users-Drive-Query)
|
- [Query documentation](Users-Drive-Query)
|
||||||
- [Python Regular Expressions](Python-Regular-Expressions) Sub function
|
- [Python Regular Expressions](Python-Regular-Expressions) Sub function
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Drive - Transfer
|
# Users - Drive - Transfer
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Query documentation](Users-Drive-Query)
|
- [Query documentation](Users-Drive-Query)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Forms
|
# Users - Forms
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Notes](#notes)
|
- [Notes](#notes)
|
||||||
- [Create a Form](#create-a-form)
|
- [Create a Form](#create-a-form)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Gmail - Client Side Encryption
|
# Users - Gmail - Client Side Encryption
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Notes](#notes)
|
- [Notes](#notes)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Gmail - Profile
|
# Users - Gmail - Profile
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Display Gmail profile](#display-gmail-profile)
|
- [Display Gmail profile](#display-gmail-profile)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Gmail - S/MIME
|
# Users - Gmail - S/MIME
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Create Gmail S/MIME configuration](#create-gmail-smime-configuration)
|
- [Create Gmail S/MIME configuration](#create-gmail-smime-configuration)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Gmail - Settings
|
# Users - Gmail - Settings
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Manage IMAP/POP](#manage-imappop)
|
- [Manage IMAP/POP](#manage-imappop)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Meet
|
# Users - Meet
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Query documentation](#query-documentation)
|
- [Query documentation](#query-documentation)
|
||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Photo
|
# Users - Photo
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Upload a user's photo from a default file](#upload-a-users-photo-from-a-default-file)
|
- [Upload a user's photo from a default file](#upload-a-users-photo-from-a-default-file)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Profile Sharing
|
# Users - Profile Sharing
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Manage user's profile sharing](#manage-users-profile-sharing)
|
- [Manage user's profile sharing](#manage-users-profile-sharing)
|
||||||
- [Display user's profile sharing](#display-users-profile-sharing)
|
- [Display user's profile sharing](#display-users-profile-sharing)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Shared Drives
|
# Users - Shared Drives
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Query documentation](#query-documentation)
|
- [Query documentation](#query-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
!# Users - Signout and Turn off 2-Step Verification
|
# Users - Signout and Turn off 2-Step Verification
|
||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Signout Users](#signout-users)
|
- [Signout Users](#signout-users)
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user