使用Python调用Google Workspace Admin SDK传输文件遇resource字段缺失错误
解决Google Admin SDK数据传输API的"missing required field: resource"错误
问题核心
你遇到的错误源于数据传输对象的格式错误,导致API无法识别有效资源结构,进而抛出"缺少resource字段"的提示。以下是具体修正方案:
错误点修正
- 拼写错误:
newOwnderUserId应为newOwnerUserId(字母拼写失误,少了一个n) - 参数格式错误:
PRIVACY_LEVEL对应的value需为字符串数组,而非嵌套集合格式
修正后的完整代码
正确的数据传输对象
datatransfer = { 'oldOwnerUserId': 'somenumberhere', 'newOwnerUserId': 'adifferentnumberhere', 'applicationDataTransfers': [ { 'applicationId': '55656082996', # Drive和Docs的应用ID 'applicationTransferParams': [ { 'key': 'PRIVACY_LEVEL', 'value': ['PRIVATE', 'SHARED'] } ] } ] }
服务调用代码保持不变
service = build('admin', 'datatransfer_v1', credentials=creds) results = service.transfers().insert(body=datatransfer).execute()
额外注意事项
- 确保
oldOwnerUserId和newOwnerUserId是域内用户的数字ID(而非邮箱地址) - 授权账号必须是Google Workspace超级管理员,且已申请
admin.datatransfer和admin.directory.user权限 - 使用官方在线工具测试时,直接填写
oldOwnerUserId、newOwnerUserId和applicationDataTransfers参数即可,无需手动添加resource字段
内容的提问来源于stack exchange,提问作者Angela Hall
相关产品推荐
相关产品推荐

