mirror of
https://github.com/GAM-team/GAM.git
synced 2025-05-29 12:27:21 +00:00
first attempt at Drive Activity API
This commit is contained in:
parent
d0126136b1
commit
00dd368c08
39
gam.py
39
gam.py
@ -493,6 +493,8 @@ def getAPIVer(api):
|
||||
return u'v1'
|
||||
elif api == u'gmail':
|
||||
return u'v1'
|
||||
elif api == u'appsactivity':
|
||||
return u'v1'
|
||||
return u'v1'
|
||||
|
||||
def getAPIScope(api):
|
||||
@ -508,6 +510,9 @@ def getAPIScope(api):
|
||||
u'https://www.googleapis.com/auth/plus.circles.write']
|
||||
elif api == u'gmail':
|
||||
return [u'https://mail.google.com/']
|
||||
elif api == u'appsactivity':
|
||||
return [u'https://www.googleapis.com/auth/activity',
|
||||
u'https://www.googleapis.com/auth/drive']
|
||||
|
||||
def buildGAPIObject(api):
|
||||
global domain, customerId, prettyPrint
|
||||
@ -1647,6 +1652,38 @@ def showDriveSettings(users):
|
||||
drive_attr.insert(0, headers)
|
||||
output_csv(drive_attr, titles, u'User Drive Settings', todrive)
|
||||
|
||||
def doDriveActivity(users):
|
||||
drive_ancestorId = u'root'
|
||||
drive_fileId = None
|
||||
todrive = False
|
||||
i = 5
|
||||
while i < len(sys.argv):
|
||||
activity_object = sys.argv[i].lower().replace(u'_', '')
|
||||
if activity_object == u'fileid':
|
||||
drive_fileId = sys.argv[i+1]
|
||||
drive_ancestorId = None
|
||||
i += 2
|
||||
elif activity_object == u'folderid':
|
||||
drive_ancestorId = sys.argv[i+1]
|
||||
i += 2
|
||||
elif activity_object == u'todrive':
|
||||
todrive = True
|
||||
i += 1
|
||||
else:
|
||||
print u'Error: %s is not a valid argument to gam <users> show driveactivity'
|
||||
sys.exit(3)
|
||||
activity_attributes = [{},]
|
||||
for user in users:
|
||||
activity = buildGAPIServiceObject(u'appsactivity', user)
|
||||
page_message = u'Retrieved %%%%total_items%%%% activities for %s' % user
|
||||
feed = callGAPIpages(service=activity.activities(), function=u'list', items=u'activities', page_message=page_message, source=u'drive.google.com', userId=u'me', drive_ancestorId=drive_ancestorId, pageSize=100)
|
||||
for item in feed:
|
||||
activity_attributes.append(flatten_json(item))
|
||||
for an_item in activity_attributes[-1].keys():
|
||||
if an_item not in activity_attributes[0]:
|
||||
activity_attributes[0][an_item] = an_item
|
||||
output_csv(activity_attributes, activity_attributes[0], u'Drive Activity', todrive)
|
||||
|
||||
def showDriveFileACL(users):
|
||||
fileId = sys.argv[5]
|
||||
for user in users:
|
||||
@ -7532,6 +7569,8 @@ try:
|
||||
doGetASPs(users)
|
||||
elif readWhat in [u'token', u'tokens', u'oauth', u'3lo']:
|
||||
doGetTokens(users)
|
||||
elif readWhat in [u'driveactivity']:
|
||||
doDriveActivity(users)
|
||||
else:
|
||||
print u'Error: invalid argument to "gam <users> show..."'
|
||||
sys.exit(2)
|
||||
|
Loading…
x
Reference in New Issue
Block a user