mirror of
https://github.com/GAM-team/GAM.git
synced 2025-07-04 11:43:45 +00:00
Added additional options to gam <UserTypeEntity> print|show youtubechannels
.
This commit is contained in:
@ -16,44 +16,7 @@
|
|||||||
<FalseValues>= false|off|no|disabled|0
|
<FalseValues>= false|off|no|disabled|0
|
||||||
<TrueValues> ::= true|on|yes|enabled|1
|
<TrueValues> ::= true|on|yes|enabled|1
|
||||||
|
|
||||||
<Charset> ::= ascii|latin1|mbcs|utf-8|utf-8-sig|utf-16|<String>
|
<BCP47LanguageCode> ::=
|
||||||
<CalendarColorIndex> ::= <Number in range 1-24>
|
|
||||||
<CalendarColorName> ::=
|
|
||||||
amethyst|avocado|banana|basil|birch|blueberry|
|
|
||||||
cherryblossom|citron|cobalt|cocoa|eucalyptus|flamingo|
|
|
||||||
grape|graphite|lavender|mango|peacock|pistachio|
|
|
||||||
pumpkin|radicchio|sage|tangerine|tomato|wisteria|
|
|
||||||
<ColorHex> ::= "#<Hex><Hex><Hex><Hex><Hex><Hex>"
|
|
||||||
<ColorNameGoogle> ::=
|
|
||||||
asparagus|bluevelvet|bubblegum|cardinal|chocolateicecream|denim|desertsand|
|
|
||||||
earthworm|macaroni|marsorange|mountaingray|mountaingrey|mouse|oldbrickred|
|
|
||||||
pool|purpledino|purplerain|rainysky|seafoam|slimegreen|spearmint|
|
|
||||||
toyeggplant|vernfern|wildstrawberries|yellowcab
|
|
||||||
<ColorNameWeb> ::=
|
|
||||||
aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|
|
|
||||||
blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|
|
|
||||||
cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|
|
|
||||||
darkgrey|darkgreen|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|
|
|
||||||
darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|
|
|
||||||
darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|
|
|
||||||
firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|
|
|
||||||
gray|grey|green|greenyellow|honeydew|hotpink|indianred|indigo|ivory|khaki|
|
|
||||||
lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|
|
|
||||||
lightgoldenrodyellow|lightgray|lightgrey|lightgreen|lightpink|lightsalmon|
|
|
||||||
lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|
|
|
||||||
lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|
|
|
||||||
mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|
|
|
||||||
mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|
|
|
||||||
navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|
|
|
||||||
palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|
|
|
||||||
peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|
|
|
||||||
sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|
|
|
||||||
slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|
|
|
||||||
wheat|white|whitesmoke|yellow|yellowgreen
|
|
||||||
<ColorName> ::= <ColorNameGoogle>|<ColorNameWeb>
|
|
||||||
<ColorValue> ::= <ColorName>|<ColorHex>
|
|
||||||
<DayOfWeek> ::= mon|tue|wed|thu|fri|sat|sun
|
|
||||||
<DriveLabelLanguageCode> ::=
|
|
||||||
ar-sa| # Arabic Saudi Arabia
|
ar-sa| # Arabic Saudi Arabia
|
||||||
cs-cz| # Czech Czech Republic
|
cs-cz| # Czech Czech Republic
|
||||||
da-dk| # Danish Denmark
|
da-dk| # Danish Denmark
|
||||||
@ -91,6 +54,43 @@
|
|||||||
zh-cn| # Chinese China
|
zh-cn| # Chinese China
|
||||||
zh-hk| # Chinese Hong Kong
|
zh-hk| # Chinese Hong Kong
|
||||||
zh-tw # Chinese Taiwan
|
zh-tw # Chinese Taiwan
|
||||||
|
<Charset> ::= ascii|latin1|mbcs|utf-8|utf-8-sig|utf-16|<String>
|
||||||
|
<CalendarColorIndex> ::= <Number in range 1-24>
|
||||||
|
<CalendarColorName> ::=
|
||||||
|
amethyst|avocado|banana|basil|birch|blueberry|
|
||||||
|
cherryblossom|citron|cobalt|cocoa|eucalyptus|flamingo|
|
||||||
|
grape|graphite|lavender|mango|peacock|pistachio|
|
||||||
|
pumpkin|radicchio|sage|tangerine|tomato|wisteria|
|
||||||
|
<ColorHex> ::= "#<Hex><Hex><Hex><Hex><Hex><Hex>"
|
||||||
|
<ColorNameGoogle> ::=
|
||||||
|
asparagus|bluevelvet|bubblegum|cardinal|chocolateicecream|denim|desertsand|
|
||||||
|
earthworm|macaroni|marsorange|mountaingray|mountaingrey|mouse|oldbrickred|
|
||||||
|
pool|purpledino|purplerain|rainysky|seafoam|slimegreen|spearmint|
|
||||||
|
toyeggplant|vernfern|wildstrawberries|yellowcab
|
||||||
|
<ColorNameWeb> ::=
|
||||||
|
aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|
|
||||||
|
blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|
|
||||||
|
cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|
|
||||||
|
darkgrey|darkgreen|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|
|
||||||
|
darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|
|
||||||
|
darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|
|
||||||
|
firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|
|
||||||
|
gray|grey|green|greenyellow|honeydew|hotpink|indianred|indigo|ivory|khaki|
|
||||||
|
lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|
|
||||||
|
lightgoldenrodyellow|lightgray|lightgrey|lightgreen|lightpink|lightsalmon|
|
||||||
|
lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|
|
||||||
|
lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|
|
||||||
|
mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|
|
||||||
|
mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|
|
||||||
|
navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|
|
||||||
|
palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|
|
||||||
|
peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|
|
||||||
|
sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|
|
||||||
|
slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|
|
||||||
|
wheat|white|whitesmoke|yellow|yellowgreen
|
||||||
|
<ColorName> ::= <ColorNameGoogle>|<ColorNameWeb>
|
||||||
|
<ColorValue> ::= <ColorName>|<ColorHex>
|
||||||
|
<DayOfWeek> ::= mon|tue|wed|thu|fri|sat|sun
|
||||||
<EventColorIndex> ::= <Number in range 1-11>
|
<EventColorIndex> ::= <Number in range 1-11>
|
||||||
<EventColorName> ::=
|
<EventColorName> ::=
|
||||||
banana|basil|blueberry|flamingo|graphite|grape|
|
banana|basil|blueberry|flamingo|graphite|grape|
|
||||||
|
@ -10,6 +10,10 @@ 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.65.15
|
||||||
|
|
||||||
|
Added additional options to `gam <UserTypeEntity> print|show youtubechannels`.
|
||||||
|
|
||||||
### 6.65.14
|
### 6.65.14
|
||||||
|
|
||||||
Fixed bug in gam <UserTypeEntity> copy|move drivefile` that caused a trap.
|
Fixed bug in gam <UserTypeEntity> copy|move drivefile` that caused a trap.
|
||||||
|
@ -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.14 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
GAMADV-XTD3 6.65.15 - 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.14 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
GAMADV-XTD3 6.65.15 - 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
|
||||||
|
@ -41,7 +41,7 @@ Supported editions for this feature: Business Standard and Business Plus; Enterp
|
|||||||
<DriveLabelSelectionID> ::= <String>
|
<DriveLabelSelectionID> ::= <String>
|
||||||
<DriveLabelSelectionIDList> ::= "<DriveLabelSelectionID>(,<DriveLabelSelectionID)*"
|
<DriveLabelSelectionIDList> ::= "<DriveLabelSelectionID>(,<DriveLabelSelectionID)*"
|
||||||
|
|
||||||
<DriveLabelLanguageCode> ::=
|
<BCP47LanguageCode> ::=
|
||||||
ar-sa| # Arabic Saudi Arabia
|
ar-sa| # Arabic Saudi Arabia
|
||||||
cs-cz| # Czech Czech Republic
|
cs-cz| # Czech Czech Republic
|
||||||
da-dk| # Danish Denmark
|
da-dk| # Danish Denmark
|
||||||
@ -94,12 +94,12 @@ Three forms of the commands are available:
|
|||||||
|
|
||||||
```
|
```
|
||||||
gam [<UserTypeEntity>] info drivelabels <DriveLabelNameEntity>
|
gam [<UserTypeEntity>] info drivelabels <DriveLabelNameEntity>
|
||||||
[[basic|full] [languagecode <DriveLabelLanguageCode>]
|
[[basic|full] [languagecode <BCP47LanguageCode>]
|
||||||
[formatjson] [adminaccess|asadmin]
|
[formatjson] [adminaccess|asadmin]
|
||||||
```
|
```
|
||||||
* `basic` - Display fields: name,id,revisionId,labelType,properties.*; this is the default
|
* `basic` - Display fields: name,id,revisionId,labelType,properties.*; this is the default
|
||||||
* `full` - Display all possible fields
|
* `full` - Display all possible fields
|
||||||
* `languagecode <DriveLabelLanguageCode>` - The BCP-47 language code to use for evaluating localized Field labels. When not specified, values in the default configured language will be used.
|
* `languagecode <BCP47LanguageCode>` - The BCP-47 language code to use for evaluating localized Field labels. When not specified, values in the default configured language will be used.
|
||||||
* `adminaccess|asadmin` - Use the user's admin credentials. This will return all Labels within the customer.
|
* `adminaccess|asadmin` - Use the user's admin credentials. This will return all Labels within the customer.
|
||||||
|
|
||||||
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.
|
||||||
@ -107,13 +107,13 @@ By default, Gam displays the information as an indented list of keys and values.
|
|||||||
|
|
||||||
```
|
```
|
||||||
gam [<UserTypeEntity>] show drivelabels
|
gam [<UserTypeEntity>] show drivelabels
|
||||||
[basic|full] [languagecode <DriveLabelLanguageCode>]
|
[basic|full] [languagecode <BCP47LanguageCode>]
|
||||||
[publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
[publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
||||||
[formatjson] [adminaccess|asadmin]
|
[formatjson] [adminaccess|asadmin]
|
||||||
```
|
```
|
||||||
* `basic` - Display fields: name,id,revisionId,labelType,properties.*; this is the default
|
* `basic` - Display fields: name,id,revisionId,labelType,properties.*; this is the default
|
||||||
* `full` - Display all possible fields
|
* `full` - Display all possible fields
|
||||||
* `languagecode <DriveLabelLanguageCode>` - The BCP-47 language code to use for evaluating localized Field labels. When not specified, values in the default configured language will be used.
|
* `languagecode <BCP47LanguageCode>` - The BCP-47 language code to use for evaluating localized Field labels. When not specified, values in the default configured language will be used.
|
||||||
* `minimumrole applier|editor|organizer|reader` - Specifies the level of access the user must have on the returned Labels. Defaults to READER.
|
* `minimumrole applier|editor|organizer|reader` - Specifies the level of access the user must have on the returned Labels. Defaults to READER.
|
||||||
* `adminaccess|asadmin` - Use the user's admin credentials. This will return all Labels within the customer.
|
* `adminaccess|asadmin` - Use the user's admin credentials. This will return all Labels within the customer.
|
||||||
|
|
||||||
@ -122,13 +122,13 @@ By default, Gam displays the information as an indented list of keys and values.
|
|||||||
|
|
||||||
```
|
```
|
||||||
gam [<UserTypeEntity>] print drivelabels [todrive <ToDriveAttribute>*]
|
gam [<UserTypeEntity>] print drivelabels [todrive <ToDriveAttribute>*]
|
||||||
[basic|full] [languagecode <DriveLabelLanguageCode>]
|
[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]
|
||||||
```
|
```
|
||||||
* `basic` - Display fields: name,id,revisionId,labelType,properties.*; this is the default
|
* `basic` - Display fields: name,id,revisionId,labelType,properties.*; this is the default
|
||||||
* `full` - Display all possible fields
|
* `full` - Display all possible fields
|
||||||
* `languagecode <DriveLabelLanguageCode>` - The BCP-47 language code to use for evaluating localized Field labels. When not specified, values in the default configured language will be used.
|
* `languagecode <BCP47LanguageCode>` - The BCP-47 language code to use for evaluating localized Field labels. When not specified, values in the default configured language will be used.
|
||||||
* `minimumrole applier|editor|organizer|reader` - Specifies the level of access the user must have on the returned Labels. Defaults to READER.
|
* `minimumrole applier|editor|organizer|reader` - Specifies the level of access the user must have on the returned Labels. Defaults to READER.
|
||||||
* `adminaccess|asadmin` - Use the user's admin credentials. This will return all Labels within the customer.
|
* `adminaccess|asadmin` - Use the user's admin credentials. This will return all Labels within the customer.
|
||||||
|
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
- [API documentation](#api-documentation)
|
- [API documentation](#api-documentation)
|
||||||
- [Notes](#notes)
|
- [Notes](#notes)
|
||||||
- [Definitions](#definitions)
|
- [Definitions](#definitions)
|
||||||
- [Display Selected YouTube Channels](#display_selected-youtube_channels)
|
- [Display Selected YouTube Channels](#display-selected-youtube-channels)
|
||||||
- [Display Owned YouTube Channels](#display-owned-youtube_channels)
|
- [Display Owned YouTube Channels](#display-owned-youtube-channels)
|
||||||
|
|
||||||
## API documentation
|
## API documentation
|
||||||
* https://developers.google.com/youtube/v3/docs/channels/list
|
* https://developers.google.com/youtube/v3/docs/channels/list
|
||||||
@ -18,6 +18,45 @@ gam user user@domain.com update serviceaccount
|
|||||||
## Definitions
|
## Definitions
|
||||||
* [`<UserTypeEntity>`](Collections-of-Users)
|
* [`<UserTypeEntity>`](Collections-of-Users)
|
||||||
```
|
```
|
||||||
|
<BCP47LanguageCode> ::=
|
||||||
|
ar-sa| # Arabic Saudi Arabia
|
||||||
|
cs-cz| # Czech Czech Republic
|
||||||
|
da-dk| # Danish Denmark
|
||||||
|
de-de| # German Germany
|
||||||
|
el-gr| # Modern Greek Greece
|
||||||
|
en-au| # English Australia
|
||||||
|
en-gb| # English United Kingdom
|
||||||
|
en-ie| # English Ireland
|
||||||
|
en-us| # English United States
|
||||||
|
en-za| # English South Africa
|
||||||
|
es-es| # Spanish Spain
|
||||||
|
es-mx| # Spanish Mexico
|
||||||
|
fi-fi| # Finnish Finland
|
||||||
|
fr-ca| # French Canada
|
||||||
|
fr-fr| # French France
|
||||||
|
he-il| # Hebrew Israel
|
||||||
|
hi-in| # Hindi India
|
||||||
|
hu-hu| # Hungarian Hungary
|
||||||
|
id-id| # Indonesian Indonesia
|
||||||
|
it-it| # Italian Italy
|
||||||
|
ja-jp| # Japanese Japan
|
||||||
|
ko-kr| # Korean Republic of Korea
|
||||||
|
nl-be| # Dutch Belgium
|
||||||
|
nl-nl| # Dutch Netherlands
|
||||||
|
no-no| # Norwegian Norway
|
||||||
|
pl-pl| # Polish Poland
|
||||||
|
pt-br| # Portuguese Brazil
|
||||||
|
pt-pt| # Portuguese Portugal
|
||||||
|
ro-ro| # Romanian Romania
|
||||||
|
ru-ru| # Russian Russian Federation
|
||||||
|
sk-sk| # Slovak Slovakia
|
||||||
|
sv-se| # Swedish Sweden
|
||||||
|
th-th| # Thai Thailand
|
||||||
|
tr-tr| # Turkish Turkey
|
||||||
|
zh-cn| # Chinese China
|
||||||
|
zh-hk| # Chinese Hong Kong
|
||||||
|
zh-tw # Chinese Taiwan
|
||||||
|
|
||||||
<YouTubeChannelID> ::= <String>
|
<YouTubeChannelID> ::= <String>
|
||||||
<YouTubeChannelIDList> ::= "<YouTubeChannelID>(,<YouTubeChannelID>)*"
|
<YouTubeChannelIDList> ::= "<YouTubeChannelID>(,<YouTubeChannelID>)*"
|
||||||
|
|
||||||
@ -37,22 +76,30 @@ gam user user@domain.com update serviceaccount
|
|||||||
Display YouTube channels selected by ID.
|
Display YouTube channels selected by ID.
|
||||||
```
|
```
|
||||||
gam <UserTypeEntity> show youtubechannels
|
gam <UserTypeEntity> show youtubechannels
|
||||||
channels <YouTubeChannelIDList>
|
(mine|
|
||||||
|
(ids|channels <YouTubeChannelIDList>)|
|
||||||
|
(forusername <String>)|
|
||||||
|
(managedbyme <String>))
|
||||||
|
[languagecode <BCP47LanguageCode>]
|
||||||
[allfields|(fields <YouTubeChannelFieldNameList>)]
|
[allfields|(fields <YouTubeChannelFieldNameList>)]
|
||||||
[formatjson]
|
[formatjson]
|
||||||
```
|
```
|
||||||
By default, only the YouTube channel ID is displayed; use `allfields|fields` to selct additional fields for display.
|
By default, only the YouTube channel ID is displayed; use `allfields|fields` to select additional fields for display.
|
||||||
|
|
||||||
By default, Gam displays the YouTube channels as an indented list of keys and values.
|
By default, Gam displays the YouTube channels as an indented list of keys and values.
|
||||||
* `formatjson` - Display the YouTube channels in JSON format
|
* `formatjson` - Display the YouTube channels in JSON format
|
||||||
|
|
||||||
```
|
```
|
||||||
gam <UserTypeEntity> print youtubechannels [todrive <ToDriveAttribute>*]
|
gam <UserTypeEntity> print youtubechannels [todrive <ToDriveAttribute>*]
|
||||||
[channels <YouTubeChannelIDList>]
|
(mine|
|
||||||
|
(ids|channels <YouTubeChannelIDList>)|
|
||||||
|
(forusername <String>)|
|
||||||
|
(managedbyme <String>))
|
||||||
|
[languagecode <BCP47LanguageCode>]
|
||||||
[allfields|(fields <YouTubeChannelFieldNameList>)]
|
[allfields|(fields <YouTubeChannelFieldNameList>)]
|
||||||
[formatjson [quotechar <Character>]]
|
[formatjson [quotechar <Character>]]
|
||||||
```
|
```
|
||||||
By default, only the YouTube channel ID is displayed; use `allfields|fields` to selct additional fields for display.
|
By default, only the YouTube channel ID is displayed; use `allfields|fields` to select additional fields for display.
|
||||||
|
|
||||||
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,
|
||||||
* `formatjson` - Display the fields in JSON format.
|
* `formatjson` - Display the fields in JSON format.
|
||||||
@ -67,20 +114,26 @@ The `quotechar <Character>` option allows you to choose an alternate quote chara
|
|||||||
Display YouTube channels owned by a user.
|
Display YouTube channels owned by a user.
|
||||||
```
|
```
|
||||||
gam <UserTypeEntity> show youtubechannels
|
gam <UserTypeEntity> show youtubechannels
|
||||||
|
[languagecode <BCP47LanguageCode>]
|
||||||
[allfields|(fields <YouTubeChannelFieldNameList>)]
|
[allfields|(fields <YouTubeChannelFieldNameList>)]
|
||||||
[formatjson]
|
[formatjson]
|
||||||
```
|
```
|
||||||
By default, only the YouTube channel ID is displayed; use `allfields|fields` to selct additional fields for display.
|
By default, only the YouTube channel ID is displayed; use `allfields|fields` to select additional fields for display.
|
||||||
|
|
||||||
By default, Gam displays the YouTube channels as an indented list of keys and values.
|
By default, Gam displays the YouTube channels as an indented list of keys and values.
|
||||||
* `formatjson` - Display the YouTube channels in JSON format
|
* `formatjson` - Display the YouTube channels in JSON format
|
||||||
|
|
||||||
```
|
```
|
||||||
gam <UserTypeEntity> print youtubechannels [todrive <ToDriveAttribute>*]
|
gam <UserTypeEntity> print youtubechannels [todrive <ToDriveAttribute>*]
|
||||||
|
(mine|
|
||||||
|
(ids|channels <YouTubeChannelIDList>)|
|
||||||
|
(forusername <String>)|
|
||||||
|
(managedbyme <String>))
|
||||||
|
[languagecode <BCP47LanguageCode>]
|
||||||
[allfields|(fields <YouTubeChannelFieldNameList>)]
|
[allfields|(fields <YouTubeChannelFieldNameList>)]
|
||||||
[formatjson [quotechar <Character>]]
|
[formatjson [quotechar <Character>]]
|
||||||
```
|
```
|
||||||
By default, only the YouTube channel ID is displayed; use `allfields|fields` to selct additional fields for display.
|
By default, only the YouTube channel ID is displayed; use `allfields|fields` to select additional fields for display.
|
||||||
|
|
||||||
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,
|
||||||
* `formatjson` - Display the fields in JSON format.
|
* `formatjson` - Display the fields in JSON format.
|
||||||
|
@ -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.14 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
GAMADV-XTD3 6.65.15 - 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.14 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
GAMADV-XTD3 6.65.15 - 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.14 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
GAMADV-XTD3 6.65.15 - 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.14
|
Latest: 6.65.15
|
||||||
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.14
|
6.65.15
|
||||||
```
|
```
|
||||||
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.14 - https://github.com/taers232c/GAMADV-XTD3
|
GAM 6.65.15 - 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
|
||||||
|
@ -59,7 +59,7 @@ If an item contains spaces, it should be surrounded by ".
|
|||||||
<ColorName> ::= <ColorNameGoogle>|<ColorNameWeb>
|
<ColorName> ::= <ColorNameGoogle>|<ColorNameWeb>
|
||||||
<ColorValue> ::= <ColorName>|<ColorHex>
|
<ColorValue> ::= <ColorName>|<ColorHex>
|
||||||
<DayOfWeek> ::= mon|tue|wed|thu|fri|sat|sun
|
<DayOfWeek> ::= mon|tue|wed|thu|fri|sat|sun
|
||||||
<DriveLabelLanguageCode> ::=
|
<BCP47LanguageCode> ::=
|
||||||
ar-sa| # Arabic Saudi Arabia
|
ar-sa| # Arabic Saudi Arabia
|
||||||
cs-cz| # Czech Czech Republic
|
cs-cz| # Czech Czech Republic
|
||||||
da-dk| # Danish Denmark
|
da-dk| # Danish Denmark
|
||||||
@ -1558,9 +1558,17 @@ gam calendar <CalendarEntity> printacl [todrive <ToDriveAttribute>*]
|
|||||||
<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>)|
|
||||||
|
(eventtypes <EventTypeList>)|
|
||||||
(query <QueryCalendar>)|
|
(query <QueryCalendar>)|
|
||||||
(privateextendedproperty <String>)|
|
(privateextendedproperty <String>)|
|
||||||
(sharedextendedproperty <Syting>)|
|
(sharedextendedproperty <Syting>)|
|
||||||
@ -1635,11 +1643,7 @@ gam calendar <CalendarEntity> printacl [todrive <ToDriveAttribute>*]
|
|||||||
tentative|
|
tentative|
|
||||||
(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
|
||||||
@ -1719,12 +1723,21 @@ gam calendar|calendars <CalendarEntity> empty calendartrash
|
|||||||
creator.id|
|
creator.id|
|
||||||
creator.self
|
creator.self
|
||||||
|
|
||||||
|
<EventFocusTimePropertiesSubfieldName> ::=
|
||||||
|
focustime.autodeclinemode|
|
||||||
|
focustime.chatstatus|
|
||||||
|
focustime.declinemessage
|
||||||
|
|
||||||
<EventOrganizerSubfieldName> ::=
|
<EventOrganizerSubfieldName> ::=
|
||||||
organizer.displayname|
|
organizer.displayname|
|
||||||
organizer.email|
|
organizer.email|
|
||||||
organizer.id|
|
organizer.id|
|
||||||
organizer.self
|
organizer.self
|
||||||
|
|
||||||
|
<EventOutOfOfficePropertiesSubfieldName> ::=
|
||||||
|
outofoffice.autodeclinemode|
|
||||||
|
outofoffice.declinemessage
|
||||||
|
|
||||||
<EventWorkingLocationPropertiesSubfieldName> ::=
|
<EventWorkingLocationPropertiesSubfieldName> ::=
|
||||||
workinglocationproperties.homeoffice|
|
workinglocationproperties.homeoffice|
|
||||||
workinglocationproperties.customlocation|
|
workinglocationproperties.customlocation|
|
||||||
@ -1748,6 +1761,8 @@ gam calendar|calendars <CalendarEntity> empty calendartrash
|
|||||||
endtimeunspecified|
|
endtimeunspecified|
|
||||||
extendedproperties|
|
extendedproperties|
|
||||||
eventtype|
|
eventtype|
|
||||||
|
focustimeproperties|
|
||||||
|
<EventFocusTimePropertiesSubfieldName>|
|
||||||
gadget|
|
gadget|
|
||||||
guestscaninviteothers|
|
guestscaninviteothers|
|
||||||
guestscanmodify|
|
guestscanmodify|
|
||||||
@ -1761,6 +1776,8 @@ gam calendar|calendars <CalendarEntity> empty calendartrash
|
|||||||
organizer|
|
organizer|
|
||||||
<EventOrganizerSubfieldName>|
|
<EventOrganizerSubfieldName>|
|
||||||
originalstart|originalstarttime|
|
originalstart|originalstarttime|
|
||||||
|
outofofficeproperties|
|
||||||
|
<EventOutOfOfficePropertiesSubfieldName>
|
||||||
privatecopy|
|
privatecopy|
|
||||||
recurrence|
|
recurrence|
|
||||||
recurringeventid|
|
recurringeventid|
|
||||||
@ -5534,12 +5551,20 @@ gam <UserTypeEntity> transfer seccals <UserItem> [keepuser] [sendnotifications <
|
|||||||
<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>)|
|
||||||
|
(eventtypes <EventTypeList>)|
|
||||||
(query <QueryCalendar>)|
|
(query <QueryCalendar>)|
|
||||||
(privateextendedproperty <String>)|
|
(privateextendedproperty <String>)|
|
||||||
(sharedextendedproperty <Syting>)|
|
(sharedextendedproperty <String>)|
|
||||||
showdeletedevents|
|
showdeletedevents|
|
||||||
showhiddeninvitations|
|
showhiddeninvitations|
|
||||||
singleevents|
|
singleevents|
|
||||||
@ -6129,15 +6154,15 @@ gam <UserTypeEntity> delete permissions <DriveFileEntity> <DriveFilePermissionID
|
|||||||
<PermissionMatch>* [<PermissionMatchAction>]
|
<PermissionMatch>* [<PermissionMatchAction>]
|
||||||
|
|
||||||
gam [<UserTypeEntity>] info drivelabels <DriveLabelNameEntity>
|
gam [<UserTypeEntity>] info drivelabels <DriveLabelNameEntity>
|
||||||
[[basic|full] [languagecode <DriveLabelLanguageCode>]
|
[[basic|full] [languagecode <BCP47LanguageCode>]
|
||||||
[formatjson] [adminaccess|asadmin]
|
[formatjson] [adminaccess|asadmin]
|
||||||
|
|
||||||
gam [<UserTypeEntity>] print <drivelabels> [todrive <ToDriveAttribute>*]
|
gam [<UserTypeEntity>] print <drivelabels> [todrive <ToDriveAttribute>*]
|
||||||
[basic|full] [languagecode <DriveLabelLanguageCode>]
|
[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]
|
||||||
gam [<UserTypeEntity>] show drivelabels
|
gam [<UserTypeEntity>] show drivelabels
|
||||||
[basic|full] [languagecode <DriveLabelLanguageCode>]
|
[basic|full] [languagecode <BCP47LanguageCode>]
|
||||||
[publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
[publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
||||||
[formatjson] [adminaccess|asadmin]
|
[formatjson] [adminaccess|asadmin]
|
||||||
|
|
||||||
@ -7648,11 +7673,19 @@ gam print tokens|token [todrive <ToDriveAttribute>*] [clientid <ClientID>]
|
|||||||
<YouTubeChannelFieldNameList> ::= "<YouTubeChannelFieldName>(,<YouTubeChannelFieldName>)*"
|
<YouTubeChannelFieldNameList> ::= "<YouTubeChannelFieldName>(,<YouTubeChannelFieldName>)*"
|
||||||
|
|
||||||
gam <UserTypeEntity> show youtubechannels
|
gam <UserTypeEntity> show youtubechannels
|
||||||
[channels <YouTubeChannelIDList>]
|
(mine|
|
||||||
|
(ids|channels <YouTubeChannelIDList>)|
|
||||||
|
(forusername <String>)|
|
||||||
|
(managedbyme <String>))
|
||||||
|
[languagecode <BCP47LanguageCode>]
|
||||||
[allfields|(fields <YouTubeChannelFieldNameList>)]
|
[allfields|(fields <YouTubeChannelFieldNameList>)]
|
||||||
[formatjson]
|
[formatjson]
|
||||||
gam <UserTypeEntity> print youtubechannels [todrive <ToDriveAttribute>*]
|
gam <UserTypeEntity> print youtubechannels [todrive <ToDriveAttribute>*]
|
||||||
[channels <YouTubeChannelIDList>]
|
(mine|
|
||||||
|
(ids|channels <YouTubeChannelIDList>)|
|
||||||
|
(forusername <String>)|
|
||||||
|
(managedbyme <String>))
|
||||||
|
[languagecode <BCP47LanguageCode>]
|
||||||
[allfields|(fields <YouTubeChannelFieldNameList>)]
|
[allfields|(fields <YouTubeChannelFieldNameList>)]
|
||||||
[formatjson [quotechar <Character>]]
|
[formatjson [quotechar <Character>]]
|
||||||
|
|
||||||
|
@ -2,6 +2,10 @@
|
|||||||
|
|
||||||
Merged GAM-Team version
|
Merged GAM-Team version
|
||||||
|
|
||||||
|
6.65.15
|
||||||
|
|
||||||
|
Added additional options to `gam <UserTypeEntity> print|show youtubechannels`.
|
||||||
|
|
||||||
6.65.14
|
6.65.14
|
||||||
|
|
||||||
Fixed bug in gam <UserTypeEntity> copy|move drivefile` that caused a trap.
|
Fixed bug in gam <UserTypeEntity> copy|move drivefile` that caused a trap.
|
||||||
|
@ -48468,7 +48468,7 @@ def createWorkingLocation(users):
|
|||||||
if not cal:
|
if not cal:
|
||||||
continue
|
continue
|
||||||
jcount = len(dateList)
|
jcount = len(dateList)
|
||||||
entityPerformAction([Ent.CALENDAR, user, Ent.WORKING_LOCATION, None], i, count)
|
entityPerformAction([Ent.CALENDAR, user, Ent.EVENT_WORKINGLOCATION, None], i, count)
|
||||||
Ind.Increment()
|
Ind.Increment()
|
||||||
j = 0
|
j = 0
|
||||||
for wlDate in dateList:
|
for wlDate in dateList:
|
||||||
@ -48536,7 +48536,7 @@ def deleteWorkingLocation(users):
|
|||||||
if not cal:
|
if not cal:
|
||||||
continue
|
continue
|
||||||
jcount = len(dateList)
|
jcount = len(dateList)
|
||||||
entityPerformAction([Ent.CALENDAR, user, Ent.WORKING_LOCATION, None], i, count)
|
entityPerformAction([Ent.CALENDAR, user, Ent.EVENT_WORKINGLOCATION, None], i, count)
|
||||||
Ind.Increment()
|
Ind.Increment()
|
||||||
j = 0
|
j = 0
|
||||||
for wlDate in dateList:
|
for wlDate in dateList:
|
||||||
@ -48695,33 +48695,51 @@ YOUTUBE_CHANNEL_FIELDS_CHOICE_MAP = {
|
|||||||
YOUTUBE_CHANNEL_TIME_OBJECTS = {'publishedAt'}
|
YOUTUBE_CHANNEL_TIME_OBJECTS = {'publishedAt'}
|
||||||
|
|
||||||
# gam <UserTypeEntity> show youtubechannels
|
# gam <UserTypeEntity> show youtubechannels
|
||||||
# [channels <YouTubeChannelIDList>]
|
# (mine|
|
||||||
|
# (ids|channels <YouTubeChannelIDList>)|
|
||||||
|
# (forusername <String>)|
|
||||||
|
# (managedbyme <String>))
|
||||||
|
# [languagecode <BCP47LanguageCode>]
|
||||||
# [allfields|(fields <YouTubeChannelFieldNameList>)]
|
# [allfields|(fields <YouTubeChannelFieldNameList>)]
|
||||||
# [formatjson]
|
# [formatjson]
|
||||||
# gam <UserTypeEntity> print youtubechannels [todrive <ToDriveAttribute>*]
|
# gam <UserTypeEntity> print youtubechannels [todrive <ToDriveAttribute>*]
|
||||||
# [channels <YouTubeChannelIDList>]
|
# (mine|
|
||||||
|
# (ids|channels <YouTubeChannelIDList>)|
|
||||||
|
# (forusername <String>)|
|
||||||
|
# (managedbyme <String>))
|
||||||
|
# [languagecode <BCP47LanguageCode>]
|
||||||
# [allfields|(fields <YouTubeChannelFieldNameList>)]
|
# [allfields|(fields <YouTubeChannelFieldNameList>)]
|
||||||
# [formatjson [quotechar <Character>]]
|
# [formatjson [quotechar <Character>]]
|
||||||
def printShowYouTubeChannel(users):
|
def printShowYouTubeChannel(users):
|
||||||
csvPF = CSVPrintFile(['User', 'id'], 'sortall') if Act.csvFormat() else None
|
csvPF = CSVPrintFile(['User', 'id'], 'sortall') if Act.csvFormat() else None
|
||||||
FJQC = FormatJSONQuoteChar(csvPF)
|
FJQC = FormatJSONQuoteChar(csvPF)
|
||||||
kwargs = {'mine': True}
|
kwargs = {'mine': True}
|
||||||
|
languageCode = ''
|
||||||
fieldsList = ['id']
|
fieldsList = ['id']
|
||||||
while Cmd.ArgumentsRemaining():
|
while Cmd.ArgumentsRemaining():
|
||||||
myarg = getArgument()
|
myarg = getArgument()
|
||||||
if csvPF and myarg == 'todrive':
|
if csvPF and myarg == 'todrive':
|
||||||
csvPF.GetTodriveParameters()
|
csvPF.GetTodriveParameters()
|
||||||
elif myarg in {'channel', 'channels'}:
|
elif myarg == 'mine':
|
||||||
kwargs.pop('mine', None)
|
kwargs = {'mine': True}
|
||||||
kwargs['id'] = ','.join(getEntityList(Cmd.OB_YOUTUBE_CHANNEL_ID_LIST))
|
elif myarg in {'id', 'ids', 'channel', 'channels'}:
|
||||||
|
kwargs = {'id': ','.join(getEntityList(Cmd.OB_YOUTUBE_CHANNEL_ID_LIST))}
|
||||||
|
elif myarg == 'forusername':
|
||||||
|
kwargs = {'forUsername': getString(Cmd.OB_USER_NAME)}
|
||||||
|
elif myarg == 'managedbyme':
|
||||||
|
kwargs = {'managedByMe': True, 'onBehalfOfContentOwner': getString(Cmd.OB_USER_NAME)}
|
||||||
elif getFieldsList(myarg, YOUTUBE_CHANNEL_FIELDS_CHOICE_MAP, fieldsList):
|
elif getFieldsList(myarg, YOUTUBE_CHANNEL_FIELDS_CHOICE_MAP, fieldsList):
|
||||||
pass
|
pass
|
||||||
elif myarg == 'allfields':
|
elif myarg == 'allfields':
|
||||||
for field in YOUTUBE_CHANNEL_FIELDS_CHOICE_MAP:
|
for field in YOUTUBE_CHANNEL_FIELDS_CHOICE_MAP:
|
||||||
addFieldToFieldsList(field, YOUTUBE_CHANNEL_FIELDS_CHOICE_MAP, fieldsList)
|
addFieldToFieldsList(field, YOUTUBE_CHANNEL_FIELDS_CHOICE_MAP, fieldsList)
|
||||||
|
elif myarg in {'languagecode', 'hl'}:
|
||||||
|
languageCode = getLanguageCode(BCP47_LANGUAGE_CODES_MAP)
|
||||||
else:
|
else:
|
||||||
FJQC.GetFormatJSONQuoteChar(myarg, True)
|
FJQC.GetFormatJSONQuoteChar(myarg, True)
|
||||||
kwargs['part'] = ','.join(set(fieldsList))
|
kwargs['part'] = ','.join(set(fieldsList))
|
||||||
|
if languageCode:
|
||||||
|
kwargs['hl'] = languageCode
|
||||||
i, count, users = getEntityArgument(users)
|
i, count, users = getEntityArgument(users)
|
||||||
for user in users:
|
for user in users:
|
||||||
i += 1
|
i += 1
|
||||||
@ -48732,9 +48750,15 @@ def printShowYouTubeChannel(users):
|
|||||||
channels = callGAPIpages(yt.channels(), 'list', 'items',
|
channels = callGAPIpages(yt.channels(), 'list', 'items',
|
||||||
throwReasons=GAPI.YOUTUBE_THROW_REASONS,
|
throwReasons=GAPI.YOUTUBE_THROW_REASONS,
|
||||||
fields='nextPageToken,items', **kwargs)
|
fields='nextPageToken,items', **kwargs)
|
||||||
except GAPI.unsupportedSupervisedAccount as e:
|
except (GAPI.unsupportedSupervisedAccount, GAPI.unsupportedLanguageCode) as e:
|
||||||
entityActionFailedWarning([Ent.USER, user], str(e), i, count)
|
entityActionFailedWarning([Ent.USER, user], str(e), i, count)
|
||||||
continue
|
continue
|
||||||
|
except GAPI.contentOwnerAccountNotFound as e:
|
||||||
|
if 'managedByMe' in kwargs:
|
||||||
|
entityActionFailedWarning([Ent.USER, user, Ent.OWNER, kwargs['onBehalfOfContentOwner']], str(e), i, count)
|
||||||
|
else:
|
||||||
|
entityActionFailedWarning([Ent.USER, user], str(e), i, count)
|
||||||
|
continue
|
||||||
except (GAPI.serviceNotAvailable, GAPI.authError):
|
except (GAPI.serviceNotAvailable, GAPI.authError):
|
||||||
entityServiceNotApplicableWarning(Ent.USER, user, i, count)
|
entityServiceNotApplicableWarning(Ent.USER, user, i, count)
|
||||||
continue
|
continue
|
||||||
@ -59964,7 +59988,7 @@ def _showDriveLabel(label, j, jcount, FJQC):
|
|||||||
Ind.Decrement()
|
Ind.Decrement()
|
||||||
|
|
||||||
# gam [<UserTypeEntity>] info drivelabels <DriveLabelNameEntity>
|
# gam [<UserTypeEntity>] info drivelabels <DriveLabelNameEntity>
|
||||||
# [[basic|full] [languagecode <DriveLabelLanguageCode>]
|
# [[basic|full] [languagecode <BCP47LanguageCode>]
|
||||||
# [formatjson] [adminaccess|asadmin]
|
# [formatjson] [adminaccess|asadmin]
|
||||||
def infoDriveLabels(users, useAdminAccess=False):
|
def infoDriveLabels(users, useAdminAccess=False):
|
||||||
driveLabelNameEntity = getUserObjectEntity(Cmd.OB_DRIVE_LABEL_NAME, Ent.DRIVE_LABEL_NAME, shlexSplit=True)
|
driveLabelNameEntity = getUserObjectEntity(Cmd.OB_DRIVE_LABEL_NAME, Ent.DRIVE_LABEL_NAME, shlexSplit=True)
|
||||||
@ -60009,11 +60033,11 @@ def doInfoDriveLabels():
|
|||||||
infoDriveLabels([_getAdminEmail()], True)
|
infoDriveLabels([_getAdminEmail()], True)
|
||||||
|
|
||||||
# gam [<UserTypeEntity>] print drivelabels> [todrive <ToDriveAttribute>*]
|
# gam [<UserTypeEntity>] print drivelabels> [todrive <ToDriveAttribute>*]
|
||||||
# [basic|full] [languagecode <DriveLabelLanguageCode>]
|
# [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]
|
||||||
# gam [<UserTypeEntity>] show drivelabels
|
# gam [<UserTypeEntity>] show drivelabels
|
||||||
# [basic|full] [languagecode <DriveLabelLanguageCode>]
|
# [basic|full] [languagecode <BCP47LanguageCode>]
|
||||||
# [publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
# [publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
||||||
# [formatjson] [adminaccess|asadmin]
|
# [formatjson] [adminaccess|asadmin]
|
||||||
def printShowDriveLabels(users, useAdminAccess=False):
|
def printShowDriveLabels(users, useAdminAccess=False):
|
||||||
|
@ -586,6 +586,8 @@ class GamCLArgs():
|
|||||||
ARG_FILETREE = 'filetree'
|
ARG_FILETREE = 'filetree'
|
||||||
ARG_FILTER = 'filter'
|
ARG_FILTER = 'filter'
|
||||||
ARG_FILTERS = 'filters'
|
ARG_FILTERS = 'filters'
|
||||||
|
ARG_FOCUSTIME = 'focustime'
|
||||||
|
ARG_FOCUSTIMES = 'focustimes'
|
||||||
ARG_FORM = 'form'
|
ARG_FORM = 'form'
|
||||||
ARG_FORMS = 'forms'
|
ARG_FORMS = 'forms'
|
||||||
ARG_FORMRESPONSE = 'formresponse'
|
ARG_FORMRESPONSE = 'formresponse'
|
||||||
@ -667,6 +669,8 @@ class GamCLArgs():
|
|||||||
ARG_OUS = 'ous'
|
ARG_OUS = 'ous'
|
||||||
ARG_OUSHAREDDRIVE = 'oushareddrive'
|
ARG_OUSHAREDDRIVE = 'oushareddrive'
|
||||||
ARG_OUSHAREDDRIVES = 'oushareddrives'
|
ARG_OUSHAREDDRIVES = 'oushareddrives'
|
||||||
|
ARG_OUTOFOFFICE = 'outofoffice'
|
||||||
|
ARG_OUTOFOFFICES = 'outofoffices'
|
||||||
ARG_OUTREE = 'outree'
|
ARG_OUTREE = 'outree'
|
||||||
ARG_OWNERSHIP = 'ownership'
|
ARG_OWNERSHIP = 'ownership'
|
||||||
ARG_PARTICIPANTS = 'participants'
|
ARG_PARTICIPANTS = 'participants'
|
||||||
|
@ -201,6 +201,9 @@ class GamEntity():
|
|||||||
END_TIME = 'endt'
|
END_TIME = 'endt'
|
||||||
ENTITY = 'enti'
|
ENTITY = 'enti'
|
||||||
EVENT = 'evnt'
|
EVENT = 'evnt'
|
||||||
|
EVENT_FOCUSTIME = 'evft'
|
||||||
|
EVENT_OUTOFOFFICE = 'evoo'
|
||||||
|
EVENT_WORKINGLOCATION = 'evwl'
|
||||||
FEATURE = 'feat'
|
FEATURE = 'feat'
|
||||||
FIELD = 'fiel'
|
FIELD = 'fiel'
|
||||||
FILE = 'file'
|
FILE = 'file'
|
||||||
@ -362,7 +365,6 @@ class GamEntity():
|
|||||||
VAULT_OPERATION = 'vlto'
|
VAULT_OPERATION = 'vlto'
|
||||||
VAULT_QUERY = 'vltq'
|
VAULT_QUERY = 'vltq'
|
||||||
WEBCLIPS_ENABLED = 'webc'
|
WEBCLIPS_ENABLED = 'webc'
|
||||||
WORKING_LOCATION = 'wrkl'
|
|
||||||
YOUTUBE_CHANNEL = 'ytch'
|
YOUTUBE_CHANNEL = 'ytch'
|
||||||
# _NAMES[0] is plural, _NAMES[1] is singular unless the item name is explicitly plural (Calendar Settings)
|
# _NAMES[0] is plural, _NAMES[1] is singular unless the item name is explicitly plural (Calendar Settings)
|
||||||
# For items with Boolean values, both entries are singular (Forward, POP)
|
# For items with Boolean values, both entries are singular (Forward, POP)
|
||||||
@ -528,6 +530,9 @@ class GamEntity():
|
|||||||
END_TIME: ['End Times', 'End Time'],
|
END_TIME: ['End Times', 'End Time'],
|
||||||
ENTITY: ['Entities', 'Entity'],
|
ENTITY: ['Entities', 'Entity'],
|
||||||
EVENT: ['Events', 'Event'],
|
EVENT: ['Events', 'Event'],
|
||||||
|
EVENT_FOCUSTIME: ['Focus Time Events', 'Focus Time Event'],
|
||||||
|
EVENT_OUTOFOFFICE: ['Out of Office Events', 'Out of Office Event'],
|
||||||
|
EVENT_WORKINGLOCATION: ['Working Location Events', 'Working Location Event'],
|
||||||
FEATURE: ['Features', 'Feature'],
|
FEATURE: ['Features', 'Feature'],
|
||||||
FIELD: ['Fields', 'Field'],
|
FIELD: ['Fields', 'Field'],
|
||||||
FILE: ['Files', 'File'],
|
FILE: ['Files', 'File'],
|
||||||
@ -689,7 +694,6 @@ class GamEntity():
|
|||||||
VAULT_OPERATION: ['Vault Operations', 'Vault Operation'],
|
VAULT_OPERATION: ['Vault Operations', 'Vault Operation'],
|
||||||
VAULT_QUERY: ['Vault Queries', 'Vault Query'],
|
VAULT_QUERY: ['Vault Queries', 'Vault Query'],
|
||||||
WEBCLIPS_ENABLED: ['Web Clips Enabled', 'Web Clips Enabled'],
|
WEBCLIPS_ENABLED: ['Web Clips Enabled', 'Web Clips Enabled'],
|
||||||
WORKING_LOCATION: ['Working Locations', 'Working Location'],
|
|
||||||
YOUTUBE_CHANNEL: ['YouTube Channels', 'YouTube Channel'],
|
YOUTUBE_CHANNEL: ['YouTube Channels', 'YouTube Channel'],
|
||||||
ROLE_MANAGER: ['Managers', 'Manager'],
|
ROLE_MANAGER: ['Managers', 'Manager'],
|
||||||
ROLE_MEMBER: ['Members', 'Member'],
|
ROLE_MEMBER: ['Members', 'Member'],
|
||||||
|
@ -52,6 +52,7 @@ CANNOT_SHARE_TEAMDRIVE_WITH_NONGOOGLE_ACCOUNTS = 'cannotShareTeamDriveWithNonGoo
|
|||||||
CANNOT_UPDATE_PERMISSION = 'cannotUpdatePermission'
|
CANNOT_UPDATE_PERMISSION = 'cannotUpdatePermission'
|
||||||
CONDITION_NOT_MET = 'conditionNotMet'
|
CONDITION_NOT_MET = 'conditionNotMet'
|
||||||
CONFLICT = 'conflict'
|
CONFLICT = 'conflict'
|
||||||
|
CONTENT_OWNER_ACCOUNT_NOT_FOUND = 'contentOwnerAccountNotFound'
|
||||||
CROSS_DOMAIN_MOVE_RESTRICTION = 'crossDomainMoveRestriction'
|
CROSS_DOMAIN_MOVE_RESTRICTION = 'crossDomainMoveRestriction'
|
||||||
CUSTOMER_EXCEEDED_ROLE_ASSIGNMENTS_LIMIT = 'CUSTOMER_EXCEEDED_ROLE_ASSIGNMENTS_LIMIT'
|
CUSTOMER_EXCEEDED_ROLE_ASSIGNMENTS_LIMIT = 'CUSTOMER_EXCEEDED_ROLE_ASSIGNMENTS_LIMIT'
|
||||||
CUSTOMER_NOT_FOUND = 'customerNotFound'
|
CUSTOMER_NOT_FOUND = 'customerNotFound'
|
||||||
@ -164,6 +165,7 @@ TEAMDRIVES_SHORTCUT_FILE_NOT_SUPPORTED = 'teamDrivesShortcutFileNotSupported'
|
|||||||
TIME_RANGE_EMPTY = 'timeRangeEmpty'
|
TIME_RANGE_EMPTY = 'timeRangeEmpty'
|
||||||
TRANSIENT_ERROR = 'transientError'
|
TRANSIENT_ERROR = 'transientError'
|
||||||
UNKNOWN_ERROR = 'unknownError'
|
UNKNOWN_ERROR = 'unknownError'
|
||||||
|
UNSUPPORTED_LANGUAGE_CODE = 'unsupportedLanguageCode'
|
||||||
UNSUPPORTED_SUPERVISED_ACCOUNT = 'unsupportedSupervisedAccount'
|
UNSUPPORTED_SUPERVISED_ACCOUNT = 'unsupportedSupervisedAccount'
|
||||||
UPLOAD_TOO_LARGE = 'uploadTooLarge'
|
UPLOAD_TOO_LARGE = 'uploadTooLarge'
|
||||||
USER_CANNOT_CREATE_TEAMDRIVES = 'userCannotCreateTeamDrives'
|
USER_CANNOT_CREATE_TEAMDRIVES = 'userCannotCreateTeamDrives'
|
||||||
@ -263,7 +265,7 @@ SHEETS_ACCESS_THROW_REASONS = DRIVE_USER_THROW_REASONS+[NOT_FOUND, PERMISSION_DE
|
|||||||
TASK_THROW_REASONS = [SERVICE_NOT_AVAILABLE, BAD_REQUEST, PERMISSION_DENIED, INVALID, NOT_FOUND, ACCESS_NOT_CONFIGURED]
|
TASK_THROW_REASONS = [SERVICE_NOT_AVAILABLE, BAD_REQUEST, PERMISSION_DENIED, INVALID, NOT_FOUND, ACCESS_NOT_CONFIGURED]
|
||||||
TASKLIST_THROW_REASONS = [SERVICE_NOT_AVAILABLE, BAD_REQUEST, PERMISSION_DENIED, INVALID, NOT_FOUND, ACCESS_NOT_CONFIGURED]
|
TASKLIST_THROW_REASONS = [SERVICE_NOT_AVAILABLE, BAD_REQUEST, PERMISSION_DENIED, INVALID, NOT_FOUND, ACCESS_NOT_CONFIGURED]
|
||||||
USER_GET_THROW_REASONS = [USER_NOT_FOUND, DOMAIN_NOT_FOUND, DOMAIN_CANNOT_USE_APIS, FORBIDDEN, BAD_REQUEST, SYSTEM_ERROR]
|
USER_GET_THROW_REASONS = [USER_NOT_FOUND, DOMAIN_NOT_FOUND, DOMAIN_CANNOT_USE_APIS, FORBIDDEN, BAD_REQUEST, SYSTEM_ERROR]
|
||||||
YOUTUBE_THROW_REASONS = [SERVICE_NOT_AVAILABLE, AUTH_ERROR, UNSUPPORTED_SUPERVISED_ACCOUNT]
|
YOUTUBE_THROW_REASONS = [SERVICE_NOT_AVAILABLE, AUTH_ERROR, UNSUPPORTED_SUPERVISED_ACCOUNT, UNSUPPORTED_LANGUAGE_CODE, CONTENT_OWNER_ACCOUNT_NOT_FOUND]
|
||||||
|
|
||||||
REASON_MESSAGE_MAP = {
|
REASON_MESSAGE_MAP = {
|
||||||
ABORTED: [
|
ABORTED: [
|
||||||
@ -394,6 +396,8 @@ class conditionNotMet(Exception):
|
|||||||
pass
|
pass
|
||||||
class conflict(Exception):
|
class conflict(Exception):
|
||||||
pass
|
pass
|
||||||
|
class contentOwnerAccountNotFound(Exception):
|
||||||
|
pass
|
||||||
class crossDomainMoveRestriction(Exception):
|
class crossDomainMoveRestriction(Exception):
|
||||||
pass
|
pass
|
||||||
class customerExceededRoleAssignmentsLimit(Exception):
|
class customerExceededRoleAssignmentsLimit(Exception):
|
||||||
@ -614,6 +618,8 @@ class transientError(Exception):
|
|||||||
pass
|
pass
|
||||||
class unknownError(Exception):
|
class unknownError(Exception):
|
||||||
pass
|
pass
|
||||||
|
class unsupportedLanguageCode(Exception):
|
||||||
|
pass
|
||||||
class unsupportedSupervisedAccount(Exception):
|
class unsupportedSupervisedAccount(Exception):
|
||||||
pass
|
pass
|
||||||
class uploadTooLarge(Exception):
|
class uploadTooLarge(Exception):
|
||||||
@ -659,6 +665,7 @@ REASON_EXCEPTION_MAP = {
|
|||||||
CANNOT_UPDATE_PERMISSION: cannotUpdatePermission,
|
CANNOT_UPDATE_PERMISSION: cannotUpdatePermission,
|
||||||
CONDITION_NOT_MET: conditionNotMet,
|
CONDITION_NOT_MET: conditionNotMet,
|
||||||
CONFLICT: conflict,
|
CONFLICT: conflict,
|
||||||
|
CONTENT_OWNER_ACCOUNT_NOT_FOUND: contentOwnerAccountNotFound,
|
||||||
CROSS_DOMAIN_MOVE_RESTRICTION: crossDomainMoveRestriction,
|
CROSS_DOMAIN_MOVE_RESTRICTION: crossDomainMoveRestriction,
|
||||||
CUSTOMER_EXCEEDED_ROLE_ASSIGNMENTS_LIMIT: customerExceededRoleAssignmentsLimit,
|
CUSTOMER_EXCEEDED_ROLE_ASSIGNMENTS_LIMIT: customerExceededRoleAssignmentsLimit,
|
||||||
CUSTOMER_NOT_FOUND: customerNotFound,
|
CUSTOMER_NOT_FOUND: customerNotFound,
|
||||||
@ -769,6 +776,7 @@ REASON_EXCEPTION_MAP = {
|
|||||||
TIME_RANGE_EMPTY: timeRangeEmpty,
|
TIME_RANGE_EMPTY: timeRangeEmpty,
|
||||||
TRANSIENT_ERROR: transientError,
|
TRANSIENT_ERROR: transientError,
|
||||||
UNKNOWN_ERROR: unknownError,
|
UNKNOWN_ERROR: unknownError,
|
||||||
|
UNSUPPORTED_LANGUAGE_CODE: unsupportedLanguageCode,
|
||||||
UNSUPPORTED_SUPERVISED_ACCOUNT: unsupportedSupervisedAccount,
|
UNSUPPORTED_SUPERVISED_ACCOUNT: unsupportedSupervisedAccount,
|
||||||
UPLOAD_TOO_LARGE: uploadTooLarge,
|
UPLOAD_TOO_LARGE: uploadTooLarge,
|
||||||
USER_CANNOT_CREATE_TEAMDRIVES: userCannotCreateTeamDrives,
|
USER_CANNOT_CREATE_TEAMDRIVES: userCannotCreateTeamDrives,
|
||||||
|
Reference in New Issue
Block a user