Added ability to transfer data for multiple application (drive, calendar, Google+) in a single API request (#826)

This commit is contained in:
bbadger86
2018-12-18 12:44:39 -05:00
committed by Jay Lee
parent 4d893c4da1
commit cbe89c8c40

View File

@@ -2119,22 +2119,38 @@ def convertUserIDtoEmail(uid):
def doCreateDataTransfer():
dt = buildGAPIObject(u'datatransfer')
body = {}
old_owner = sys.argv[3]
body[u'oldOwnerUserId'] = convertToUserID(old_owner)
serviceName, serviceID = app2appID(dt, sys.argv[4])
apps = sys.argv[4].split(",")
appNameList=[]
appIDList = []
i = 0
while i < len(apps):
serviceName, serviceID = app2appID(dt, apps[i])
appNameList.append(serviceName)
appIDList.append({u'applicationId': serviceID})
i += 1
body[u'applicationDataTransfers'] = (appIDList)
new_owner = sys.argv[5]
body[u'newOwnerUserId'] = convertToUserID(new_owner)
parameters = {}
i = 6
while i < len(sys.argv):
parameters[sys.argv[i].upper()] = sys.argv[i+1].upper().split(u',')
i += 2
body[u'applicationDataTransfers'] = [{u'applicationId': serviceID}]
i = 0
for key, value in parameters.items():
body[u'applicationDataTransfers'][0].setdefault(u'applicationTransferParams', [])
body[u'applicationDataTransfers'][0][u'applicationTransferParams'].append({u'key': key, u'value': value})
body[u'applicationDataTransfers'][i].setdefault(u'applicationTransferParams', [])
body[u'applicationDataTransfers'][i][u'applicationTransferParams'].append({u'key': key, u'value': value})
i += 1
result = callGAPI(dt.transfers(), u'insert', body=body, fields=u'id')[u'id']
print u'Submitted request id %s to transfer %s from %s to %s' % (result, serviceName, old_owner, new_owner)
print u'Submitted request id %s to transfer %s from %s to %s' % (result, ','.join(map(str,appNameList)), old_owner, new_owner)
def doPrintTransferApps():
dt = buildGAPIObject(u'datatransfer')