Updated gam create datatransfer to handle the following error:

ERROR: 401: Active session is invalid. Error code: 4 - authError
This commit is contained in:
Ross Scroggs
2023-12-09 10:16:40 -08:00
parent 56c33fec87
commit dc832b8c7f
7 changed files with 522 additions and 89 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -10,9 +10,21 @@ 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
### 6.66.10
Updated `gam create datatransfer` to handle the following error:
```
ERROR: 401: Active session is invalid. Error code: 4 - authError
```
### 6.66.09
Fixed bug in `gam <UserTypeEntity> print filelist ... allfields` that caused a trap
when `gam.cfg` contained `drive_v3_native_names = False`.
### 6.66.08
Added additional columns `isBase` and `baseId' to `gam <UserTypeEntity> print fileparenttree`
Added additional columns `isBase` and `baseId` to `gam <UserTypeEntity> print fileparenttree`
to simplify processing the output in a script.
### 6.66.07

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$ ./gam version
WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found
GAMADV-XTD3 6.66.08 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
GAMADV-XTD3 6.66.10 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com>
Python 3.10.8 64-bit final
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>gam version
WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found
GAMADV-XTD3 6.66.08 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
GAMADV-XTD3 6.66.10 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.0 64-bit final
Windows-10-10.0.17134 AMD64

View File

@@ -80,6 +80,7 @@
canaddfolderfromanotherdrive|
canaddmydriveparent|
canchangecopyrequireswriterpermission|
canchangecopyrequireswriterpermissionrestriction|
canchangedomainusersonlyrestriction|
canchangedrivebackground|
canchangedrivemembersonlyrestriction|
@@ -97,11 +98,14 @@
canmanagemembers|
canmodifycontent|
canmodifycontentrestriction|
canmodifyeditorcontentrestriction|
canmodifylabels|
canmodifyownercontentrestriction|
canmovechildrenoutofdrive|
canmovechildrenoutofteamdrive|
canmovechildrenwithindrive|
canmovechildrenwithinteamdrive|
canmoveitemintodrive|
canmoveitemintoteamdrive|
canmoveitemoutofdrive|
canmoveitemoutofteamdrive|
@@ -113,6 +117,7 @@
canreadrevisions|
canreadteamdrive|
canremovechildren|
canremovecontentrestriction|
canremovemydriveparent|
canrename|
canrenamedrive|
@@ -1076,6 +1081,12 @@ Use the following option to select a subset of files based on their permissions.
* `<PermissionMatch>* [<PermissionMatchAction>]` - Use permission matching to select files
## File selection starting point for Display file list
You can limit the selection for files on a specific Shared drive.
Any query will be applied to the Shared drive.
```
select <SharedDriveEntity>
```
You can specify a specific folder from which to select files.
```
select <DriveFileEntity> [selectsubquery <QueryDriveFile>]

View File

@@ -4,7 +4,7 @@
Print the current version of Gam with details
```
gam version
GAMADV-XTD3 6.66.08 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
GAMADV-XTD3 6.66.10 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.0 64-bit final
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
```
gam version timeoffset
GAMADV-XTD3 6.66.08 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
GAMADV-XTD3 6.66.10 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.0 64-bit final
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
```
gam version extended
GAMADV-XTD3 6.66.08 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
GAMADV-XTD3 6.66.10 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.0 64-bit final
MacOS Monterey 12.7 x86_64
@@ -65,7 +65,7 @@ MacOS High Sierra 10.13.6 x86_64
Path: /Users/Admin/bin/gamadv-xtd3
Version Check:
Current: 5.35.08
Latest: 6.66.08
Latest: 6.66.10
echo $?
1
```
@@ -73,7 +73,7 @@ echo $?
Print the current version number without details
```
gam version simple
6.66.08
6.66.10
```
In Linux/MacOS you can do:
```
@@ -83,7 +83,7 @@ echo $VER
Print the current version of Gam and address of this Wiki
```
gam help
GAM 6.66.08 - https://github.com/taers232c/GAMADV-XTD3
GAM 6.66.10 - https://github.com/taers232c/GAMADV-XTD3
Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.0 64-bit final
MacOS Monterey 12.7 x86_64

View File

@@ -2,6 +2,13 @@
Merged GAM-Team version
6.66.10
Updated `gam create datatransfer` to handle the following error:
```
ERROR: 401: Active session is invalid. Error code: 4 - authError
```
6.66.09
Fixed bug in `gam <UserTypeEntity> print filelist ... allfields` that caused a trap

View File

@@ -5084,13 +5084,11 @@ def checkGAPIError(e, softErrors=False, retryOnHttpError=False, mapNotFound=True
http_status = error['error']['code']
if 'errors' in error['error'] and 'message' in error['error']['errors'][0]:
message = error['error']['errors'][0]['message']
status = ''
elif 'errors' in error['error'] and 'Unknown Error' in error['error']['message'] and 'reason' in error['error']['errors'][0]:
message = error['error']['errors'][0]['reason']
status = error['error'].get('status', '')
else:
message = error['error']['message']
status = error['error'].get('status', '')
status = error['error'].get('status', '')
lmessage = message.lower() if message is not None else ''
if http_status == 500:
if not lmessage or status == 'UNKNOWN':
@@ -5133,6 +5131,9 @@ def checkGAPIError(e, softErrors=False, retryOnHttpError=False, mapNotFound=True
error = makeErrorDict(http_status, GAPI.INVALID_ARGUMENT, message)
elif 'does not match' in lmessage or 'invalid' in lmessage:
error = makeErrorDict(http_status, GAPI.INVALID, message)
elif http_status == 401:
if status == 'PERMISSION_DENIED':
error = makeErrorDict(http_status, GAPI.PERMISSION_DENIED, message)
elif http_status == 403:
if 'quota exceeded for quota metric' in lmessage:
error = makeErrorDict(http_status, GAPI.QUOTA_EXCEEDED, message)
@@ -16342,9 +16343,9 @@ def doCreateDataTransfer():
_assignAppParameter(Cmd.Previous().upper(), getString(Cmd.OB_PARAMETER_VALUE).upper().split(','), True)
try:
result = callGAPI(dt.transfers(), 'insert',
throwReasons=[GAPI.UNKNOWN_ERROR, GAPI.FORBIDDEN],
throwReasons=[GAPI.UNKNOWN_ERROR, GAPI.FORBIDDEN, GAPI.PERMISSION_DENIED],
body=body, fields='id')
except (GAPI.unknownError, GAPI.forbidden) as e:
except (GAPI.unknownError, GAPI.forbidden, GAPI.permissionDenied) as e:
entityActionFailedExit([Ent.USER, old_owner], str(e))
entityActionPerformed([Ent.TRANSFER_REQUEST, None])
Ind.Increment()