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