两个用户之间的数据传输在Admin SDK和Admin Web Panel中不起作用

时间:2017-05-22 11:54:56

标签: python google-admin-sdk

我正在用Python编写代码,其任务是暂停用户并将其数据传输给其他用户。

不幸的是,我发现该功能不起作用。

根据API的文档 https://developers.google.com/admin-sdk/data-transfer/v1/reference/transfers/insert

我在python中创建了一个代码对象:

{
    'oldOwnerUserId': 'XXXXXXXXXXXXXXXXXXXXX',
    'newOwnerUserId': 'YYYYYYYYYYYYYYYYYYYYY',
    'applicationDataTransfers': 
    [
       {'applicationId': 'UUUUUUU'}
    ]
}

其中:

  • “XXXXXXXXXXXXXXXXXXXXX”是旧用户ID
  • “YYYYYYYYYYYYYYYYYYYYY”是新用户ID
  • “UUUUUUU”是我的Google云端硬盘应用程序ID

然后我正在运行代码:

transfer_service.transfers().insert(body=transfer_data).execute()

运行脚本时没有错误。几秒钟后,我收到“数据传输成功”的电子邮件,但当我在Drive上查看新创建的目录时,我发现它是空的。我用相同的结果多次测试了这个。

我确信这不是问题:

  1. Credidentials - 我可以获取用户ID和谷歌驱动器ID
  2. 用户和驱动器ID - 我已通过上面链接中的网络面板检查了它们
  3. 我尝试通过https://admin.google.com做同样的事情,结果是一样的。 是什么导致这个问题?

1 个答案:

答案 0 :(得分:1)

与Google联系后,他们告诉我添加网站上描述的转移参数: https://developers.google.com/admin-sdk/data-transfer/v1/parameters

工作对象现在看起来像这样:

{
   'oldOwnerUserId': 'XXXXXXXXXXXXXXXXXXXXX',
   'newOwnerUserId': 'YYYYYYYYYYYYYYYYYYYYY',
   'applicationDataTransfers': 
   [
      {
         'applicationId': 'UUUUUUU'
         'applicationTransferParams': 
         [
            {
               'key': 'PRIVACY_LEVEL',
               'value': ['PRIVATE', 'SHARED']
            }
         ]
      }
   ]
}

根据我的对话,谷歌没有 applicationTransferParams 脚本,但它不知道需要传输什么类型的数据。