Added support for Focus Time and Out of Office status events in user's primary calendars.

Updated `gam <UserTypeEntity> print|show messages` to allow option `show_size` to be used with option `countsonly`
to display the cumulative size of the messages selected.

Chat prerelease updates
This commit is contained in:
Ross Scroggs
2023-11-29 16:23:45 -08:00
parent 46d4e78b79
commit b0f05c2dea
12 changed files with 712 additions and 244 deletions

View File

@@ -103,12 +103,21 @@ Client access works when accessing Resource calendars.
creator.id| creator.id|
creator.self creator.self
<EventFocusTimePropertiesSubfieldName> ::=
focustimeproperties.chatstatus|
focustimeproperties.declinemode|
focustimeproperties.declinemessage
<EventOrganizerSubfieldName> ::= <EventOrganizerSubfieldName> ::=
organizer.displayname| organizer.displayname|
organizer.email| organizer.email|
organizer.id| organizer.id|
organizer.self organizer.self
<EventOutOfOfficePropertiesSubfieldName> ::=
outofoffice.declinemode|
outofoffice.declinemessage
<EventWorkingLocationPropertiesSubfieldName> ::= <EventWorkingLocationPropertiesSubfieldName> ::=
workinglocationproperties.homeoffice| workinglocationproperties.homeoffice|
workinglocationproperties.customlocation| workinglocationproperties.customlocation|
@@ -132,6 +141,7 @@ Client access works when accessing Resource calendars.
endtimeunspecified| endtimeunspecified|
extendedproperties| extendedproperties|
eventtype| eventtype|
<EventFocusTimePropertiesSubfieldName>
gadget| gadget|
guestscaninviteothers| guestscaninviteothers|
guestscanmodify| guestscanmodify|
@@ -145,6 +155,7 @@ Client access works when accessing Resource calendars.
organizer| organizer|
<EventOrganizerSubfieldName>| <EventOrganizerSubfieldName>|
originalstart|originalstarttime| originalstart|originalstarttime|
<EventOutOfOfficePropertiesSubfieldName>
privatecopy| privatecopy|
recurrence| recurrence|
recurringeventid| recurringeventid|
@@ -158,14 +169,23 @@ Client access works when accessing Resource calendars.
updated| updated|
visibility| visibility|
workinglocationproperties| workinglocationproperties|
<EventWorkingLocationPropertiesSubfieldName>
<EventFieldNameList> ::= "<EventFieldName>(,<EventFieldName>)*" <EventFieldNameList> ::= "<EventFieldName>(,<EventFieldName>)*"
<AttendeeAttendance> ::= optional|required <AttendeeAttendance> ::= optional|required
<AttendeeStatus> ::= accepted|declined|needsaction|tentative <AttendeeStatus> ::= accepted|declined|needsaction|tentative
<EventType> ::=
default|
focustime|
outofoffice|
workinglocation
<EventTypeList> ::= "<EventType>(,<EventType>)*"
<EventSelectProperty> ::= <EventSelectProperty> ::=
(after|starttime|timemin <Time>)| (after|starttime|timemin <Time>)|
(before|endtime|timemax <Time>)| (before|endtime|timemax <Time>)|
(eventtype|eventtypes <EventTypeList>)|
(query <QueryCalendar>)| (query <QueryCalendar>)|
(privateextendedproperty <String>)| (privateextendedproperty <String>)|
(sharedextendedproperty <String>)| (sharedextendedproperty <String>)|
@@ -211,6 +231,7 @@ Client access works when accessing Resource calendars.
<PropertyValue> ::= <String> <PropertyValue> ::= <String>
<EventAttribute> ::= <EventAttribute> ::=
(allday <Date>)|
(anyonecanaddself [<Boolean>])| (anyonecanaddself [<Boolean>])|
(attachment <String> <URL>)| (attachment <String> <URL>)|
(attendee <EmailAddress>)| (attendee <EmailAddress>)|
@@ -219,7 +240,7 @@ Client access works when accessing Resource calendars.
(color <EventColorName>)| (color <EventColorName>)|
(colorindex|colorid <EventColorIndex>)| (colorindex|colorid <EventColorIndex>)|
(description <String>)| (description <String>)|
(end (allday <Date>)|<Time>)| (end|endtime (allday <Date>)|<Time>)|
(guestscaninviteothers <Boolean>)| (guestscaninviteothers <Boolean>)|
guestscantinviteothers| guestscantinviteothers|
(guestscanmodify <Boolean>)| (guestscanmodify <Boolean>)|
@@ -234,16 +255,18 @@ Client access works when accessing Resource calendars.
(optionalattendee <EmailAddress>)| (optionalattendee <EmailAddress>)|
(originalstart|originalstarttime (allday <Date>)|<Time>)| (originalstart|originalstarttime (allday <Date>)|<Time>)|
(privateproperty <PropertyKey> <PropertyValue>)| (privateproperty <PropertyKey> <PropertyValue>)|
(range <Date> <Date>)|
(recurrence <RRULE, EXRULE, RDATE and EXDATE line>)| (recurrence <RRULE, EXRULE, RDATE and EXDATE line>)|
(reminder <Number> email|popup))| (reminder <Number> email|popup))|
(selectattendees [<AttendeeAttendance>] [<AttendeeStatus>] <UserTypeEntity>)| (selectattendees [<AttendeeAttendance>] [<AttendeeStatus>] <UserTypeEntity>)|
(sequence <Integer>)| (sequence <Integer>)|
(sharedproperty <PropertyKey> <PropertyValue>)| (sharedproperty <PropertyKey> <PropertyValue>)|
(source <String> <URL>)| (source <String> <URL>)|
(start (allday <Date>)|<Time>)| (start|starttime (allday <Date>)|<Time>)|
(status confirmed|tentative|cancelled)| (status confirmed|tentative|cancelled)|
(summary <String>)| (summary <String>)|
tentative| tentative|
(timerange <Time> <Time>)|
(timezone <TimeZone>)| (timezone <TimeZone>)|
(transparency opaque|transparent)| (transparency opaque|transparent)|
(visibility default|public|private) (visibility default|public|private)
@@ -293,10 +316,12 @@ This is dense reading; a simpler approach is to define a test event in Google Ca
the recurrence rule that you want, then use `gam info event` to get the recurrence rule and use it in subsequent commands. the recurrence rule that you want, then use `gam info event` to get the recurrence rule and use it in subsequent commands.
``` ```
RRULE:FREQ=DAILY RRULE:FREQ=DAILY - Daily
RRULE:FREQ=DAILY;COUNT=30 RRULE:FREQ=DAILY;COUNT=30 - Daily for 30 days
RRULE:FREQ=WEEKLY;BYDAY=WE RRULE:FREQ=WEEKLY - Weekly on the same day of the week as the starting day; e.g., every Wednesday
RRULE:FREQ=WEEKLY;WKST=SU;COUNT=13;BYDAY=WE RRULE:FREQ=WEEKLY;COUNT=13 - Weekly on the same day of the week as the starting day; e.g., every Wednesday, for 13 weeks
RRULE:FREQ=MONTHLY - Monthly on the same day of the month as the starting day; e.g., every 15th of the month
RRULE:FREQ=MONTHLY;BYDAY=4TH - Monthly on the fourth instance of the starting day; e.g., every 4th Thursday
``` ```
## Event colors ## Event colors
@@ -320,6 +345,7 @@ If none of the following options are selected, all events are selected.
The Google Calendar API processes `<EventSelectProperty>*`; you may specify none or multiple properties. The Google Calendar API processes `<EventSelectProperty>*`; you may specify none or multiple properties.
* `after|starttime|timemin <Time>` - Lower bound (inclusive) for an event's end time to filter by. If timeMax is set, timeMin must be smaller than timeMax. * `after|starttime|timemin <Time>` - Lower bound (inclusive) for an event's end time to filter by. If timeMax is set, timeMin must be smaller than timeMax.
* `before|endtime|timemax <Time>` - Upper bound (exclusive) for an event's start time to filter by. If timeMin is set, timeMax must be greater than timeMin. * `before|endtime|timemax <Time>` - Upper bound (exclusive) for an event's start time to filter by. If timeMin is set, timeMax must be greater than timeMin.
* `eventtypes <EventTypeList>` - Select events based on their type.
* `query <QueryCalendar>` - Free text search terms to find events that match these terms in any field, except for extended properties * `query <QueryCalendar>` - Free text search terms to find events that match these terms in any field, except for extended properties
* `privateextendedproperty <String>` - A required private property; `<String>` must be of the form `propertyName=value` * `privateextendedproperty <String>` - A required private property; `<String>` must be of the form `propertyName=value`
* `sharedextendedproperty <String>` - A required shared property; `<String>` must be of the form `propertyName=value` * `sharedextendedproperty <String>` - A required shared property; `<String>` must be of the form `propertyName=value`

View File

@@ -109,7 +109,7 @@ By default, Gam displays the information as an indented list of keys and values.
### Display information about all chat members in a chat space ### Display information about all chat members in a chat space
``` ```
gam show chatmembers space <ChatSpace> gam show chatmembers space <ChatSpace>
[showinvited [<Boolean>]] [filter <String>] [showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
[formatjson] [formatjson]
``` ```
By default, Gam displays the information as an indented list of keys and values. By default, Gam displays the information as an indented list of keys and values.
@@ -117,7 +117,7 @@ By default, Gam displays the information as an indented list of keys and values.
``` ```
gam print chatmembers [todrive <ToDriveAttribute>*] space <ChatSpace> gam print chatmembers [todrive <ToDriveAttribute>*] space <ChatSpace>
[showinvited [<Boolean>]] [filter <String>] [showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
[formatjson [quotechar <Character>]] [formatjson [quotechar <Character>]]
``` ```

View File

@@ -10,6 +10,22 @@ Add the `-s` option to the end of the above commands to suppress creating the `g
See [Downloads](https://github.com/taers232c/GAMADV-XTD3/wiki/Downloads) for Windows or other options, including manual installation See [Downloads](https://github.com/taers232c/GAMADV-XTD3/wiki/Downloads) for Windows or other options, including manual installation
### 6.66.00
Added support for `Focus Time` and `Out of Office` status events in user's primary calendars.
* See: https://github.com/taers232c/GAMADV-XTD3/wiki/Users-Calendars-Events#status-events
This is a work-in-progress.
Updated `gam <UserTypeEntity> print|show messages` to allow option `show_size` to be used with option `countsonly`
to display the cumulative size of the messages selected.
```
gam user user@domain.com print messages query "newer_than:31d" countsonly showsize
Getting all Messages for user@domain.com
Got 16 Messagess for user@domain.com...
User,messages,size
user@domain.com,16,92806
```
### 6.65.17 ### 6.65.17
Added the option `mappermissionsdomain <DomainName1> <DomainName2>` to `gam <UserTypeEntity> create drivefileacl <DriveFileEntity>` Added the option `mappermissionsdomain <DomainName1> <DomainName2>` to `gam <UserTypeEntity> create drivefileacl <DriveFileEntity>`

View File

@@ -334,7 +334,7 @@ writes the credentials into the file oauth2.txt.
admin@server:/Users/admin/bin/gamadv-xtd3$ rm -f /Users/admin/GAMConfig/oauth2.txt admin@server:/Users/admin/bin/gamadv-xtd3$ rm -f /Users/admin/GAMConfig/oauth2.txt
admin@server:/Users/admin/bin/gamadv-xtd3$ ./gam version admin@server:/Users/admin/bin/gamadv-xtd3$ ./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
GAMADV-XTD3 6.65.17 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource GAMADV-XTD3 6.66.00 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com> Ross Scroggs <ross.scroggs@gmail.com>
Python 3.10.8 64-bit final Python 3.10.8 64-bit final
MacOS High Sierra 10.13.6 x86_64 MacOS High Sierra 10.13.6 x86_64
@@ -1002,7 +1002,7 @@ writes the credentials into the file oauth2.txt.
C:\GAMADV-XTD3>del C:\GAMConfig\oauth2.txt C:\GAMADV-XTD3>del C:\GAMConfig\oauth2.txt
C:\GAMADV-XTD3>gam version C:\GAMADV-XTD3>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
GAMADV-XTD3 6.65.17 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource GAMADV-XTD3 6.66.00 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com> Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.0 64-bit final Python 3.12.0 64-bit final
Windows-10-10.0.17134 AMD64 Windows-10-10.0.17134 AMD64

View File

@@ -17,15 +17,10 @@
- [Empty calendar trash](#empty-calendar-trash) - [Empty calendar trash](#empty-calendar-trash)
- [Display calendar events](#display-calendar-events) - [Display calendar events](#display-calendar-events)
- [Update calendar event attendees](#update-calendar-event-attendees) - [Update calendar event attendees](#update-calendar-event-attendees)
- [Focus time events](#focus-time-events) - [Status events](#status-events)
- [Manage focus time events](#manage-focus-time-events) - [Focus time events](#focus-time-events)
- [Display focus time events](#display-focus-time-events) - [Out of officeevents](#out-of-office-events)
- [Out of officeevents](#out-of-office-events) - [Working location events](#working-location-events)
- [Manage Out of office events](#manage-out-of-office-events)
- [Display Out of officeevents](#display-out-of-office-events)
- [Working location events](#working-location-events)
- [Manage working location events](#manage-working-location-events)
- [Display working location events](#display-working-location-events)
## API documentation ## API documentation
* https://developers.google.com/calendar/v3/reference/events * https://developers.google.com/calendar/v3/reference/events
@@ -255,7 +250,7 @@
<EventSelectProperty> ::= <EventSelectProperty> ::=
(after|starttime|timemin <Time>)| (after|starttime|timemin <Time>)|
(before|endtime|timemax <Time>)| (before|endtime|timemax <Time>)|
(eventtypes <EventTypeList>)| (eventtype|eventtypes <EventTypeList>)|
(query <QueryCalendar>)| (query <QueryCalendar>)|
(privateextendedproperty <String>)| (privateextendedproperty <String>)|
(sharedextendedproperty <String>)| (sharedextendedproperty <String>)|
@@ -301,6 +296,7 @@
<TimeZone> ::= <String> <TimeZone> ::= <String>
<EventAttribute> ::= <EventAttribute> ::=
(allday <Date>)|
(anyonecanaddself [<Boolean>])| (anyonecanaddself [<Boolean>])|
(attachment <String> <URL>)| (attachment <String> <URL>)|
(attendee <EmailAddress>)| (attendee <EmailAddress>)|
@@ -309,8 +305,7 @@
(color <EventColorName>)| (color <EventColorName>)|
(colorindex|colorid <EventColorIndex>)| (colorindex|colorid <EventColorIndex>)|
(description <String>)| (description <String>)|
(end (allday <Date>)|<Time>)| (end|endtime (allday <Date>)|<Time>)|
(focustime [declinemode none|all|new] [declinemessage <String>] [chatstatus available|donotdisturb])|
(guestscaninviteothers <Boolean>)| (guestscaninviteothers <Boolean>)|
guestscantinviteothers| guestscantinviteothers|
(guestscanmodify <Boolean>)| (guestscanmodify <Boolean>)|
@@ -324,25 +319,22 @@
(noreminders|(reminder email|popup <Number>))| (noreminders|(reminder email|popup <Number>))|
(optionalattendee <EmailAddress>)| (optionalattendee <EmailAddress>)|
(originalstart|originalstarttime (allday <Date>)|<Time>)| (originalstart|originalstarttime (allday <Date>)|<Time>)|
(outofoffice [declinemode none|all|new] [declinemessage <String>])|
(privateproperty <PropertyKey> <PropertyValue>)| (privateproperty <PropertyKey> <PropertyValue>)|
(range <Date> <Date>)|
(recurrence <RRULE, EXRULE, RDATE and EXDATE line>)| (recurrence <RRULE, EXRULE, RDATE and EXDATE line>)|
(reminder <Number> email|popup))| (reminder <Number> email|popup))|
(selectattendees [<AttendeeAttendance>] [<AttendeeStatus>] <UserTypeEntity>)| (selectattendees [<AttendeeAttendance>] [<AttendeeStatus>] <UserTypeEntity>)|
(sequence <Integer>)| (sequence <Integer>)|
(sharedproperty <PropertyKey> <PropertyValue>)| (sharedproperty <PropertyKey> <PropertyValue>)|
(source <String> <URL>)| (source <String> <URL>)|
(start (allday <Date>)|<Time>)| (start|starttime (allday <Date>)|<Time>)|
(status confirmed|tentative|cancelled)| (status confirmed|tentative|cancelled)|
(summary <String>)| (summary <String>)|
tentative| tentative|
(timerange <Time> <Time>)|
(timezone <TimeZone>)| (timezone <TimeZone>)|
(transparency opaque|transparent)| (transparency opaque|transparent)|
(visibility default|public|private)| (visibility default|public|private)
(workinglocation (home|
(custom <String>)|
(office <String> [building|buildingid <String>] [floor|floorname <String>]
[section|floorsection <String>] [desk|deskcode <String>])))
The following attributes are equivalent: The following attributes are equivalent:
available - transparency transparent available - transparency transparent
@@ -357,8 +349,8 @@ The following attributes are equivalent:
<EventUpdateAttribute> ::= <EventUpdateAttribute> ::=
<EventAttribute>| <EventAttribute>|
clearattendees|
clearattachments| clearattachments|
clearattendees|
clearhangoutsmeet| clearhangoutsmeet|
(clearprivateproperty <PropertyKey>)| (clearprivateproperty <PropertyKey>)|
(clearsharedproperty <PropertyKey>)| (clearsharedproperty <PropertyKey>)|
@@ -435,6 +427,7 @@ If none of the following options are selected, all events are selected.
The Google Calendar API processes `<EventSelectProperty>*`; you may specify none or multiple properties. The Google Calendar API processes `<EventSelectProperty>*`; you may specify none or multiple properties.
* `after|starttime|timemin <Time>` - Lower bound (inclusive) for an event's end time to filter by. If timeMax is set, timeMin must be smaller than timeMax. * `after|starttime|timemin <Time>` - Lower bound (inclusive) for an event's end time to filter by. If timeMax is set, timeMin must be smaller than timeMax.
* `before|endtime|timemax <Time>` - Upper bound (exclusive) for an event's start time to filter by. If timeMin is set, timeMax must be greater than timeMin. * `before|endtime|timemax <Time>` - Upper bound (exclusive) for an event's start time to filter by. If timeMin is set, timeMax must be greater than timeMin.
* `eventtypes <EventTypeList>` - Select events based on their type.
* `query <QueryCalendar>` - Free text search terms to find events that match these terms in any field, except for extended properties * `query <QueryCalendar>` - Free text search terms to find events that match these terms in any field, except for extended properties
* `privateextendedproperty <String>` - A required private property; `<String>` must be of the form `propertyName=value` * `privateextendedproperty <String>` - A required private property; `<String>` must be of the form `propertyName=value`
* `sharedextendedproperty <String>` - A required shared property; `<String>` must be of the form `propertyName=value` * `sharedextendedproperty <String>` - A required shared property; `<String>` must be of the form `propertyName=value`
@@ -721,6 +714,8 @@ the second adds the primary email.
The attendee changes are displayed but not processed unless `doit` is specified. The attendee changes are displayed but not processed unless `doit` is specified.
## Status events
## Focus time events ## Focus time events
## Manage focus time events ## Manage focus time events

View File

@@ -204,8 +204,9 @@ The `quotechar <Character>` option allows you to choose an alternate quote chara
### Add members to a chat space ### Add members to a chat space
``` ```
gam <UserTypeEntity> create chatmember <ChatSpace> gam <UserTypeEntity> create chatmember <ChatSpace>
[type human|bot] [type human|bot] [role member|manager]
((user <UserItem>)|(members <UserTypeEntity>))* (user <UserItem>)* (members <UserTypeEntity>)*
(group <GroupItem>)* (groups <GroupEntity>)*
[formatjson|returnidonly] [formatjson|returnidonly]
``` ```
By default, Gam displays the information about the chatmember as an indented list of keys and values. By default, Gam displays the information about the chatmember as an indented list of keys and values.
@@ -213,10 +214,11 @@ By default, Gam displays the information about the chatmember as an indented lis
* `returnidonly` - Display the chatmember name only * `returnidonly` - Display the chatmember name only
### Delete members from a chat space ### Delete members from a chat space
Delete members by specifying a chat space and user email addresses. Delete members by specifying a chat space and user/group email addresses.
``` ```
gam <UserTypeEntity> delete chatmember <ChatSpace> gam <UserTypeEntity> delete chatmember <ChatSpace>
((user <UserItem>)|(members <UserTypeEntity>))+ ((user <UserItem>)|(members <UserTypeEntity>)|
(group <GroupItem>)|(groups <GroupEntity>))+
``` ```
Delete members by specifying chatmember names. Delete members by specifying chatmember names.
@@ -236,7 +238,7 @@ By default, Gam displays the information as an indented list of keys and values.
### Display information about all chat members in a chat space ### Display information about all chat members in a chat space
``` ```
gam <UserTypeEntity> show chatmembers <ChatSpace> gam <UserTypeEntity> show chatmembers <ChatSpace>
[showinvited [<Boolean>]] [filter <String>] [showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
[formatjson] [formatjson]
``` ```
@@ -245,7 +247,7 @@ By default, Gam displays the information as an indented list of keys and values.
``` ```
gam <UserTypeEntity> print chatmembers [todrive <ToDriveAttribute>*] <ChatSpace> gam <UserTypeEntity> print chatmembers [todrive <ToDriveAttribute>*] <ChatSpace>
[showinvited [<Boolean>]] [filter <String>] [showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
[formatjson [quotechar <Character>]] [formatjson [quotechar <Character>]]
``` ```

View File

@@ -539,13 +539,15 @@ The `dateheaderconverttimezone [<Boolean>]>` option converts `<SMTPDateHeader>`
* `showsize` - Display the message size * `showsize` - Display the message size
* `showsnippet` - Display the message snippet * `showsnippet` - Display the message snippet
### Display message count ### Display message count and optionally cumulative message size
* `countsonly` - Display the count of the number of messages * `countsonly` - Display the count of the number of messages
* `showsize` - Display the cumulative message size
### Display label counts ### Display label counts
* `showlabels` - Display the message labels * `showlabels` - Display the message labels
* `countsonly` - Display all message label counts * `countsonly` - Display all message label counts
* `positivecountsonly` - Display message label counts that are greater than 0 * `positivecountsonly` - Display message label counts that are greater than 0
* `showsize` - Display the cumulative message size for each label
* `useronly` - Do not display system labels * `useronly` - Do not display system labels
## Print only options ## Print only options

View File

@@ -2,12 +2,12 @@
- [API documentation](#api-documentation) - [API documentation](#api-documentation)
- [Notes](#notes) - [Notes](#notes)
- [Definitions](#definitions) - [Definitions](#definitions)
- [Display Looker Studio assets](#display-data-studio-assets) - [Display Looker Studio assets](#display-looker-studio-assets)
- [Manage Looker Studio permissions](#manage-data-studio-permissions) - [Manage Looker Studio permissions](#manage-looker-studio-permissions)
- [Add Permissions](#add-permissions) - [Add Permissions](#add-permissions)
- [Delete Permissions](#delete-permissions) - [Delete Permissions](#delete-permissions)
- [Update Permissions](#update-permissions) - [Update Permissions](#update-permissions)
- [Display Looker Studio permissions](#display-data-studio-permissions) - [Display Looker Studio permissions](#display-looker-studio-permissions)
## API documentation ## API documentation
* https://developers.google.com/looker-studio/integrate/api/reference * https://developers.google.com/looker-studio/integrate/api/reference

View File

@@ -4,7 +4,7 @@
Print the current version of Gam with details Print the current version of Gam with details
``` ```
gam version gam version
GAMADV-XTD3 6.65.17 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource GAMADV-XTD3 6.66.00 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com> Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.0 64-bit final Python 3.12.0 64-bit final
MacOS Monterey 12.7 x86_64 MacOS Monterey 12.7 x86_64
@@ -16,7 +16,7 @@ Time: 2023-06-02T21:10:00-07:00
Print the current version of Gam with details and time offset information Print the current version of Gam with details and time offset information
``` ```
gam version timeoffset gam version timeoffset
GAMADV-XTD3 6.65.17 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource GAMADV-XTD3 6.66.00 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com> Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.0 64-bit final Python 3.12.0 64-bit final
MacOS Monterey 12.7 x86_64 MacOS Monterey 12.7 x86_64
@@ -28,7 +28,7 @@ Your system time differs from www.googleapis.com by less than 1 second
Print the current version of Gam with extended details and SSL information Print the current version of Gam with extended details and SSL information
``` ```
gam version extended gam version extended
GAMADV-XTD3 6.65.17 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource GAMADV-XTD3 6.66.00 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com> Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.0 64-bit final Python 3.12.0 64-bit final
MacOS Monterey 12.7 x86_64 MacOS Monterey 12.7 x86_64
@@ -65,7 +65,7 @@ MacOS High Sierra 10.13.6 x86_64
Path: /Users/Admin/bin/gamadv-xtd3 Path: /Users/Admin/bin/gamadv-xtd3
Version Check: Version Check:
Current: 5.35.08 Current: 5.35.08
Latest: 6.65.17 Latest: 6.66.00
echo $? echo $?
1 1
``` ```
@@ -73,7 +73,7 @@ echo $?
Print the current version number without details Print the current version number without details
``` ```
gam version simple gam version simple
6.65.17 6.66.00
``` ```
In Linux/MacOS you can do: In Linux/MacOS you can do:
``` ```
@@ -83,7 +83,7 @@ echo $VER
Print the current version of Gam and address of this Wiki Print the current version of Gam and address of this Wiki
``` ```
gam help gam help
GAM 6.65.17 - https://github.com/taers232c/GAMADV-XTD3 GAM 6.66.00 - https://github.com/taers232c/GAMADV-XTD3
Ross Scroggs <ross.scroggs@gmail.com> Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.0 64-bit final Python 3.12.0 64-bit final
MacOS Monterey 12.7 x86_64 MacOS Monterey 12.7 x86_64

View File

@@ -1615,7 +1615,7 @@ gam calendar <CalendarEntity> printacl [todrive <ToDriveAttribute>*]
(attendeestatus [<AttendeeAttendance>] [<AttendeeStatus>] <EmailAddress>)| (attendeestatus [<AttendeeAttendance>] [<AttendeeStatus>] <EmailAddress>)|
available| available|
(color <EventColorName>)| (color <EventColorName>)|
(colorindex|colorid <EventColorIndex>))| (colorindex|colorid <EventColorIndex>)|
(description <String>)| (description <String>)|
(end|endtime (allday <Date>)|<Time>)| (end|endtime (allday <Date>)|<Time>)|
(guestscaninviteothers <Boolean>)| (guestscaninviteothers <Boolean>)|
@@ -1625,12 +1625,14 @@ gam calendar <CalendarEntity> printacl [todrive <ToDriveAttribute>*]
guestscantseeotherguests| guestscantseeotherguests|
hangoutsmeet| hangoutsmeet|
<JSONData>| <JSONData>|
(jsonattendees [charset <Charset>] <String>)|(jsonattendees file <FileName> [charset <Charset>])| (jsonattendees [charset <Charset>] <String>)|
(jsonattendees file <FileName> [charset <Charset>])|
(location <String>)| (location <String>)|
(noreminders|(reminder email|popup <Number>))| (noreminders|(reminder email|popup <Number>))|
(optionalattendee <EmailAddress>)| (optionalattendee <EmailAddress>)|
(originalstart|originalstarttime (allday <Date>)|<Time>)| (originalstart|originalstarttime (allday <Date>)|<Time>)|
(privateproperty <PropertyKey> <PropertyValue>)| (privateproperty <PropertyKey> <PropertyValue>)|
(range <Date> <Date>)|
(recurrence <RRULE, EXRULE, RDATE and EXDATE line>)| (recurrence <RRULE, EXRULE, RDATE and EXDATE line>)|
(reminder <Number> email|popup))| (reminder <Number> email|popup))|
(selectattendees [<AttendeeAttendance>] [<AttendeeStatus>] <UserTypeEntity>)| (selectattendees [<AttendeeAttendance>] [<AttendeeStatus>] <UserTypeEntity>)|
@@ -1641,6 +1643,7 @@ gam calendar <CalendarEntity> printacl [todrive <ToDriveAttribute>*]
(status confirmed|tentative|cancelled)| (status confirmed|tentative|cancelled)|
(summary <String>)| (summary <String>)|
tentative| tentative|
(timerange <Time> <Time>)|
(timezone <TimeZone>)| (timezone <TimeZone>)|
(transparency opaque|transparent)| (transparency opaque|transparent)|
(visibility default|public|private) (visibility default|public|private)
@@ -2004,10 +2007,10 @@ gam print chatspaces [todrive <ToDriveAttribute>*]
gam info chatmember member <ChatMember> gam info chatmember member <ChatMember>
[formatjson] [formatjson]
gam show chatmembers <ChatSpace> gam show chatmembers <ChatSpace>
[showinvited [<Boolean>]] [filter <String>] [showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
[formatjson] [formatjson]
gam print chatmembers [todrive <ToDriveAttribute>*] <ChatSpace> gam print chatmembers [todrive <ToDriveAttribute>*] <ChatSpace>
[showinvited [<Boolean>]] [filter <String>] [showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
[formatjson [quotechar <Character>]] [formatjson [quotechar <Character>]]
gam create chatmessage <ChatSpace> gam create chatmessage <ChatSpace>
@@ -5719,39 +5722,53 @@ gam <UserTypeEntity> update calattendees <UserCalendarEntity> <EventEntity> [any
(updatestatus [<AttendeeAttendance>] [<AttendeeStatus>] <EmailAddress>)* (updatestatus [<AttendeeAttendance>] [<AttendeeStatus>] <EmailAddress>)*
(updateentitystatus [<AttendeeAttendance>] [<AttendeeStatus>] <EmailAddressEntity>)* (updateentitystatus [<AttendeeAttendance>] [<AttendeeStatus>] <EmailAddressEntity>)*
Manage/Display Working Locations Manage/Display Status Events
gam <UserTypeEntity> create focustime
[chatstatus available|donotdisturb]
[declinemode none|all|new]
[declinemessage <String>]
[summary <String>]
(timerange <Time> <Time> [recurrence <String>])+
[timezone <String>]
gam <UserTypeEntity> create outofoffice
[declinemode none|all|new]
[declinemessage <String>]
[summary <String>]
(timerange <Time> <Time> [recurrence <String>])+
[timezone <String>]
gam <UserTypeEntity> create workinglocation gam <UserTypeEntity> create workinglocation
(home| (home|
(custom <String>)| (custom <String>)|
(office <String> [building|buildingid <String>] [floor|floorname <String>] (office <String> [building|buildingid <String>] [floor|floorname <String>]
[section|floorsection <String>] [desk|deskcode <String>])) [section|floorsection <String>] [desk|deskcode <String>]))
((date yyyy-mm-dd)| ((date yyyy-mm-dd)|
(range yyyy-mm-dd yyyy-mm-dd)| (range yyyy-mm-dd yyyy-mm-dd)|
(daily yyyy-mm-dd <Number>)| (daily yyyy-mm-dd N)|
(weekly yyyy-mm-dd <Number>)| (weekly yyyy-mm-dd N)|
(timerange <Time> <Time>))+
[timezone <String>]
gam <UserTypeEntity> delete focustime|outofoffice|workinglocation
((date yyyy-mm-dd)|
(range yyyy-mm-dd yyyy-mm-dd)|
(daily yyyy-mm-dd N)|
(weekly yyyy-mm-dd N)|
(timerange <Time> <Time>))+ (timerange <Time> <Time>))+
gam <UserTypeEntity> delete workinglocation gam <UserTypeEntity> show focustime|outofoffice|workinglocation
((date yyyy-mm-dd)| ((date yyyy-mm-dd)|
(range yyyy-mm-dd yyyy-mm-dd)| (range yyyy-mm-dd yyyy-mm-dd)|
(daily yyyy-mm-dd <Number>)| (daily yyyy-mm-dd N)|
(weekly yyyy-mm-dd <Number>)| (weekly yyyy-mm-dd N)|
(timerange <Time> <Time>))+
gam <UserTypeEntity> show workinglocation
((date yyyy-mm-dd)|
(range yyyy-mm-dd yyyy-mm-dd)|
(daily yyyy-mm-dd <Number>)|
(weekly yyyy-mm-dd <Number>)|
(timerange <Time> <Time>))+ (timerange <Time> <Time>))+
[showdayofweek] [showdayofweek]
[formatjson] [formatjson]
gam <UserTypeEntity> print workinglocation gam <UserTypeEntity> print focustime|outofoffice|workinglocation
((date yyyy-mm-dd)| ((date yyyy-mm-dd)|
(range yyyy-mm-dd yyyy-mm-dd)| (range yyyy-mm-dd yyyy-mm-dd)|
(daily yyyy-mm-dd <Number>)| (daily yyyy-mm-dd N)|
(weekly yyyy-mm-dd <Number>)| (weekly yyyy-mm-dd N)|
(timerange <Time> <Time>))+ (timerange <Time> <Time>))+
[showdayofweek] [showdayofweek]
[formatjson [quotechar <Character>]] [todrive <ToDriveAttribute>*] [formatjson [quotechar <Character>]] [todrive <ToDriveAttribute>*]
@@ -5806,18 +5823,22 @@ gam <UserTypeEntity> print chatspaces [todrive <ToDriveAttribute>*]
[formatjson [quotechar <Character>]] [formatjson [quotechar <Character>]]
gam <UserTypeEntity> create chatmember <ChatSpace> gam <UserTypeEntity> create chatmember <ChatSpace>
[type human|bot] [type human|bot] [role member|manager]
((user <UserItem>)|(members <UserTypeEntity>))* (user <UserItem>)* (members <UserTypeEntity>)*
(group <GroupItem>)* (groups <GroupEntity>)*
[formatjson|returnidonly] [formatjson|returnidonly]
gam <UserTypeEntity> delete chatmember <ChatSpace> gam <UserTypeEntity> delete chatmember <ChatSpace>
((user <UserItem>)|(members <UserTypeEntity>))+ ((user <UserItem>)|(members <UserTypeEntity>)|
(group <GroupItem>)|(groups <GroupEntity>))+
gam <UserTypeEntity> remove chatmember members <ChatMemberList> gam <UserTypeEntity> remove chatmember members <ChatMemberList>
gam <UserTypeEntity> info chatmember members <ChatMemberList> gam <UserTypeEntity> info chatmember members <ChatMemberList>
[formatjson] [formatjson]
gam <UserTypeEntity> show chatmembers <ChatSpace> gam <UserTypeEntity> show chatmembers <ChatSpace>
[showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
[formatjson] [formatjson]
gam <UserTypeEntity> print chatmembers [todrive <ToDriveAttribute>*] <ChatSpace> gam <UserTypeEntity> print chatmembers [todrive <ToDriveAttribute>*] <ChatSpace>
[showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
[formatjson [quotechar <Character>]] [formatjson [quotechar <Character>]]
gam <UserTypeEntity> create chatmessage <ChatSpace> gam <UserTypeEntity> create chatmessage <ChatSpace>

View File

@@ -2,6 +2,22 @@
Merged GAM-Team version Merged GAM-Team version
6.66.00
Added support for `Focus Time` and `Out of Office` status events in user's primary calendars.
* See: https://github.com/taers232c/GAMADV-XTD3/wiki/Users-Calendars-Events#status-events
This is a work-in-progress.
Updated `gam <UserTypeEntity> print|show messages` to allow option `show_size` to be used with option `countsonly`
to display the cumulative size of the messages selected.
```
gam user user@domain.com print messages query "newer_than:31d" countsonly showsize
Getting all Messages for user@domain.com
Got 16 Messagess for user@domain.com...
User,messages,size
user@domain.com,16,92806
```
6.65.17 6.65.17
Added the option `mappermissionsdomain <DomainName1> <DomainName2>` to `gam <UserTypeEntity> create drivefileacl <DriveFileEntity>` Added the option `mappermissionsdomain <DomainName1> <DomainName2>` to `gam <UserTypeEntity> create drivefileacl <DriveFileEntity>`

File diff suppressed because it is too large Load Diff