mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-03 20:31:35 +00:00
Support for Tag Manager API #1801
This commit is contained in:
@@ -8408,6 +8408,11 @@ gam <UserTypeEntity> show tagmanagertags <TagManagerWorkspacePathEntity>
|
||||
gam <UserTypeEntity> print tagmanagertags <TagManagerWorkspacePathEntity> [todrive <ToDriveAttribute>*]
|
||||
[formatjson [quotechar <Character>]]
|
||||
|
||||
gam <UserTypeEntity> show tagmanagerpermissions <TagManagerAccountPathEntity>
|
||||
[formatjson]
|
||||
gam <UserTypeEntity> print tagmanagerpermissions <TagManagerAccountPathEntity> [todrive <ToDriveAttribute>*]
|
||||
[formatjson [quotechar <Character>]]
|
||||
|
||||
# Users - Tasks
|
||||
|
||||
<TaskAttribute> ::=
|
||||
|
||||
@@ -76492,18 +76492,20 @@ def importTasklist(users):
|
||||
parentIdMap[taskId] = result['id']
|
||||
|
||||
TAGMANAGER_PARAMETERS = {
|
||||
Ent.TAGMANAGER_ACCOUNT: {'respType': 'account', 'parentEntityType': None,
|
||||
'idList': ['accountId']},
|
||||
Ent.TAGMANAGER_CONTAINER: {'respType': 'container', 'parentEntityType': Ent.TAGMANAGER_ACCOUNT,
|
||||
'idList': ['accountId', 'containerId']},
|
||||
Ent.TAGMANAGER_WORKSPACE: {'respType': 'workspace', 'parentEntityType': Ent.TAGMANAGER_CONTAINER,
|
||||
'idList': ['accountId', 'containerId', 'workspaceId']},
|
||||
Ent.TAGMANAGER_TAG: {'respType': 'tag', 'parentEntityType': Ent.TAGMANAGER_WORKSPACE,
|
||||
'idList': ['accountId', 'containerId', 'workspaceId', 'tagId']},
|
||||
Ent.TAGMANAGER_ACCOUNT: {'api': API.TAGMANAGER, 'respType': 'account', 'parentEntityType': None,
|
||||
'name': 'name', 'idList': ['accountId']},
|
||||
Ent.TAGMANAGER_CONTAINER: {'api': API.TAGMANAGER, 'respType': 'container', 'parentEntityType': Ent.TAGMANAGER_ACCOUNT,
|
||||
'name': 'name', 'idList': ['accountId', 'containerId']},
|
||||
Ent.TAGMANAGER_WORKSPACE: {'api': API.TAGMANAGER, 'respType': 'workspace', 'parentEntityType': Ent.TAGMANAGER_CONTAINER,
|
||||
'name': 'name', 'idList': ['accountId', 'containerId', 'workspaceId']},
|
||||
Ent.TAGMANAGER_TAG: {'api': API.TAGMANAGER, 'respType': 'tag', 'parentEntityType': Ent.TAGMANAGER_WORKSPACE,
|
||||
'name': 'name', 'idList': ['accountId', 'containerId', 'workspaceId', 'tagId']},
|
||||
Ent.TAGMANAGER_PERMISSION: {'api': API.TAGMANAGER_USERS, 'respType': 'userPermission', 'parentEntityType': Ent.TAGMANAGER_ACCOUNT,
|
||||
'name': 'emailAddress', 'idList': ['accountId']},
|
||||
}
|
||||
|
||||
def printShowTagManagerObjects(users, entityType):
|
||||
csvPF = CSVPrintFile(['User', 'name', 'path']) if Act.csvFormat() else None
|
||||
csvPF = CSVPrintFile(['User']) if Act.csvFormat() else None
|
||||
FJQC = FormatJSONQuoteChar(csvPF)
|
||||
if entityType == Ent.TAGMANAGER_ACCOUNT:
|
||||
kwargs = {'includeGoogleTags': False}
|
||||
@@ -76515,6 +76517,8 @@ def printShowTagManagerObjects(users, entityType):
|
||||
else:
|
||||
parentList = getEntityList(Cmd.OB_TAGMANAGER_PATH_LIST)
|
||||
parameters = TAGMANAGER_PARAMETERS[entityType]
|
||||
if csvPF:
|
||||
csvPF.AddTitles([parameters['name'], 'path'])
|
||||
while Cmd.ArgumentsRemaining():
|
||||
myarg = getArgument()
|
||||
if csvPF and myarg == 'todrive':
|
||||
@@ -76526,7 +76530,7 @@ def printShowTagManagerObjects(users, entityType):
|
||||
i, count, users = getEntityArgument(users)
|
||||
for user in users:
|
||||
i += 1
|
||||
user, svc = buildGAPIServiceObject(API.TAGMANAGER, user, i, count)
|
||||
user, svc = buildGAPIServiceObject(parameters['api'], user, i, count)
|
||||
if not svc:
|
||||
continue
|
||||
if entityType == Ent.TAGMANAGER_ACCOUNT:
|
||||
@@ -76535,8 +76539,10 @@ def printShowTagManagerObjects(users, entityType):
|
||||
svc = svc.accounts().containers()
|
||||
elif entityType == Ent.TAGMANAGER_WORKSPACE:
|
||||
svc = svc.accounts().containers().workspaces()
|
||||
else: #elif entityType == Ent.TAGMANAGER_TAG:
|
||||
elif entityType == Ent.TAGMANAGER_TAG:
|
||||
svc = svc.accounts().containers().workspaces().tags()
|
||||
else: #elif entityType == Ent.TAGMANAGER_PERMISSION:
|
||||
svc = svc.accounts().user_permissions()
|
||||
jcount = len(parentList)
|
||||
j = 0
|
||||
for parent in parentList:
|
||||
@@ -76566,9 +76572,9 @@ def printShowTagManagerObjects(users, entityType):
|
||||
if not FJQC.formatJSON:
|
||||
printEntity([entityType, result['path']], k, kcount)
|
||||
Ind.Increment()
|
||||
printKeyValueList([parameters['name'], result.pop(parameters['name'])])
|
||||
for tmid in parameters['idList']:
|
||||
printKeyValueList([tmid, result.pop(tmid)])
|
||||
printKeyValueList(['name', result.pop('name')])
|
||||
showJSON(None, result)
|
||||
Ind.Decrement()
|
||||
else:
|
||||
@@ -76583,7 +76589,7 @@ def printShowTagManagerObjects(users, entityType):
|
||||
if not FJQC.formatJSON:
|
||||
csvPF.WriteRowTitles(row)
|
||||
elif csvPF.CheckRowTitles(row):
|
||||
row = {'User': user, 'name': result['name'], 'path': result['path']}
|
||||
row = {'User': user, parameters['name']: result[parameters['name']], 'path': result['path']}
|
||||
row['JSON'] = json.dumps(cleanJSON(result), ensure_ascii=False, sort_keys=True)
|
||||
csvPF.WriteRowNoFilter(row)
|
||||
if csvPF:
|
||||
@@ -76619,6 +76625,13 @@ def printShowTagManagerWorkspaces(users):
|
||||
def printShowTagManagerTags(users):
|
||||
printShowTagManagerObjects(users, Ent.TAGMANAGER_TAG)
|
||||
|
||||
# gam <UserTypeEntity> show tagmanagerpermissions <TagManagerAccountPathEntity>
|
||||
# [formatjson]
|
||||
# gam <UserTypeEntity> print tagmanagerpermissions <TagManagerAccountPathEntity> [todrive <ToDriveAttribute>*]
|
||||
# [formatjson [quotechar <Character>]]
|
||||
def printShowTagManagerPermissions(users):
|
||||
printShowTagManagerObjects(users, Ent.TAGMANAGER_PERMISSION)
|
||||
|
||||
def getCRMOrgId():
|
||||
setTrueCustomerId()
|
||||
_, crm = buildGAPIServiceObject(API.CLOUDRESOURCEMANAGER, None)
|
||||
@@ -78349,8 +78362,9 @@ USER_COMMANDS_WITH_OBJECTS = {
|
||||
Cmd.ARG_SITEACTIVITY: deprecatedUserSites,
|
||||
Cmd.ARG_TAGMANAGERACCOUNT: printShowTagManagerAccounts,
|
||||
Cmd.ARG_TAGMANAGERCONTAINER: printShowTagManagerContainers,
|
||||
Cmd.ARG_TAGMANAGERWORKSPACE: printShowTagManagerWorkspaces,
|
||||
Cmd.ARG_TAGMANAGERPERMISSION: printShowTagManagerPermissions,
|
||||
Cmd.ARG_TAGMANAGERTAG: printShowTagManagerTags,
|
||||
Cmd.ARG_TAGMANAGERWORKSPACE: printShowTagManagerWorkspaces,
|
||||
Cmd.ARG_TASK: printShowTasks,
|
||||
Cmd.ARG_TASKLIST: printShowTasklists,
|
||||
Cmd.ARG_THREAD: printShowThreads,
|
||||
@@ -78460,8 +78474,9 @@ USER_COMMANDS_WITH_OBJECTS = {
|
||||
Cmd.ARG_SMIME: printShowSmimes,
|
||||
Cmd.ARG_TAGMANAGERACCOUNT: printShowTagManagerAccounts,
|
||||
Cmd.ARG_TAGMANAGERCONTAINER: printShowTagManagerContainers,
|
||||
Cmd.ARG_TAGMANAGERWORKSPACE: printShowTagManagerWorkspaces,
|
||||
Cmd.ARG_TAGMANAGERPERMISSION: printShowTagManagerPermissions,
|
||||
Cmd.ARG_TAGMANAGERTAG: printShowTagManagerTags,
|
||||
Cmd.ARG_TAGMANAGERWORKSPACE: printShowTagManagerWorkspaces,
|
||||
Cmd.ARG_TASK: printShowTasks,
|
||||
Cmd.ARG_TASKLIST: printShowTasklists,
|
||||
Cmd.ARG_THREAD: printShowThreads,
|
||||
@@ -78703,8 +78718,9 @@ USER_COMMANDS_OBJ_ALIASES = {
|
||||
Cmd.ARG_SMIMES: Cmd.ARG_SMIME,
|
||||
Cmd.ARG_TAGMANAGERACCOUNTS: Cmd.ARG_TAGMANAGERACCOUNT,
|
||||
Cmd.ARG_TAGMANAGERCONTAINERS: Cmd.ARG_TAGMANAGERCONTAINER,
|
||||
Cmd.ARG_TAGMANAGERWORKSPACES: Cmd.ARG_TAGMANAGERWORKSPACE,
|
||||
Cmd.ARG_TAGMANAGERPERMISSIONS: Cmd.ARG_TAGMANAGERPERMISSION,
|
||||
Cmd.ARG_TAGMANAGERTAGS: Cmd.ARG_TAGMANAGERTAG,
|
||||
Cmd.ARG_TAGMANAGERWORKSPACES: Cmd.ARG_TAGMANAGERWORKSPACE,
|
||||
Cmd.ARG_TASKS: Cmd.ARG_TASK,
|
||||
Cmd.ARG_TASKLISTS: Cmd.ARG_TASKLIST,
|
||||
Cmd.ARG_TEAMDRIVE: Cmd.ARG_SHAREDDRIVE,
|
||||
|
||||
@@ -95,6 +95,7 @@ STORAGE = 'storage'
|
||||
STORAGEREAD = 'storageread'
|
||||
STORAGEWRITE = 'storagewrite'
|
||||
TAGMANAGER = 'tagmanager'
|
||||
TAGMANAGER_USERS = 'tagmanagerusers'
|
||||
TASKS = 'tasks'
|
||||
VAULT = 'vault'
|
||||
YOUTUBE = 'youtube'
|
||||
@@ -280,6 +281,7 @@ _INFO = {
|
||||
STORAGEREAD: {'name': 'Cloud Storage API - Read', 'version': 'v1', 'v2discovery': True, 'mappedAPI': STORAGE},
|
||||
STORAGEWRITE: {'name': 'Cloud Storage API - Write', 'version': 'v1', 'v2discovery': True, 'mappedAPI': STORAGE},
|
||||
TAGMANAGER: {'name': 'Tag Manager API', 'version': 'v2', 'v2discovery': True},
|
||||
TAGMANAGER_USERS: {'name': 'Tag Manager API - Users', 'version': 'v2', 'v2discovery': True, 'mappedAPI': TAGMANAGER},
|
||||
TASKS: {'name': 'Tasks API', 'version': 'v1', 'v2discovery': True},
|
||||
VAULT: {'name': 'Vault API', 'version': 'v1', 'v2discovery': True},
|
||||
YOUTUBE: {'name': 'Youtube API', 'version': 'v3', 'v2discovery': True},
|
||||
@@ -702,7 +704,13 @@ _SVCACCT_SCOPES = [
|
||||
{'name': 'Tag Manager API - read only',
|
||||
'api': TAGMANAGER,
|
||||
'subscopes': [],
|
||||
'offByDefault': True,
|
||||
'scope': 'https://www.googleapis.com/auth/tagmanager.readonly'},
|
||||
{'name': 'Tag Manager API - Users',
|
||||
'api': TAGMANAGER_USERS,
|
||||
'subscopes': [],
|
||||
'offByDefault': True,
|
||||
'scope': 'https://www.googleapis.com/auth/tagmanager.manage.users'},
|
||||
{'name': 'Tasks API',
|
||||
'api': TASKS,
|
||||
'subscopes': READONLY,
|
||||
|
||||
@@ -786,10 +786,12 @@ class GamCLArgs():
|
||||
ARG_TAGMANAGERACCOUNTS = 'tagmanageraccounts'
|
||||
ARG_TAGMANAGERCONTAINER = 'tagmanagercontainer'
|
||||
ARG_TAGMANAGERCONTAINERS = 'tagmanagercontainers'
|
||||
ARG_TAGMANAGERWORKSPACE = 'tagmanagerworkspace'
|
||||
ARG_TAGMANAGERWORKSPACES = 'tagmanagerworkspaces'
|
||||
ARG_TAGMANAGERPERMISSION = 'tagmanagerpermission'
|
||||
ARG_TAGMANAGERPERMISSIONS = 'tagmanagerpermissions'
|
||||
ARG_TAGMANAGERTAG = 'tagmanagertag'
|
||||
ARG_TAGMANAGERTAGS = 'tagmanagertags'
|
||||
ARG_TAGMANAGERWORKSPACE = 'tagmanagerworkspace'
|
||||
ARG_TAGMANAGERWORKSPACES = 'tagmanagerworkspaces'
|
||||
ARG_TASK = 'task'
|
||||
ARG_TASKS = 'tasks'
|
||||
ARG_TASKLIST = 'tasklist'
|
||||
|
||||
@@ -360,8 +360,9 @@ class GamEntity():
|
||||
SVCACCT_KEY = 'svky'
|
||||
TAGMANAGER_ACCOUNT = 'tmac'
|
||||
TAGMANAGER_CONTAINER = 'tmco'
|
||||
TAGMANAGER_WORKSPACE = 'tmws'
|
||||
TAGMANAGER_PERMISSION = 'tmpm'
|
||||
TAGMANAGER_TAG = 'tmtg'
|
||||
TAGMANAGER_WORKSPACE = 'tmws'
|
||||
TARGET_USER = 'tgt '
|
||||
TASK = 'task'
|
||||
TASKLIST = 'tali'
|
||||
@@ -716,8 +717,9 @@ class GamEntity():
|
||||
SVCACCT_KEY: ['Service Account Keys', 'Service Account Key'],
|
||||
TAGMANAGER_ACCOUNT: ['Tag Manager Accounts', 'Tag Manager Account'],
|
||||
TAGMANAGER_CONTAINER: ['Tag Manager Containers', 'Tag Manager Container'],
|
||||
TAGMANAGER_WORKSPACE: ['Tag Manager Workspaces', 'Tag Manager Workspace'],
|
||||
TAGMANAGER_PERMISSION: ['Tag Manager Permissions', 'Tag Manager Permission'],
|
||||
TAGMANAGER_TAG: ['Tag Manager Tags', 'Tag Manager Tag'],
|
||||
TAGMANAGER_WORKSPACE: ['Tag Manager Workspaces', 'Tag Manager Workspace'],
|
||||
TARGET_USER: ['Target Users', 'Target User'],
|
||||
TASK: ['Tasks', 'Task'],
|
||||
TASKLIST: ['Tasklists', 'Tasklist'],
|
||||
|
||||
Reference in New Issue
Block a user