如何获取Google账号userid以调用Data Transfer API?
Google Data Transfer API 所需oldUserId/newUserId获取方法
调用Data Transfer API的transfers.insert接口时要求传入的oldUserId和newUserId,是Google Workspace为域内每个用户分配的不可变唯一数字ID,不是用户的登录邮箱地址,可通过以下两种方式获取:
自动化脚本/API调用场景:通过Directory API读取
你已经在使用Admin SDK的前提下,直接调用同SDK下的Directory服务相关接口即可拿到对应ID:- 给你的API服务账号开通Directory API的用户只读权限(权限范围标识为
https://www.googleapis.com/auth/admin.directory.user.readonly) - 已知用户邮箱的前提下,直接调用用户查询接口,将用户邮箱作为查询Key传入,返回结果顶层的
id字段就是需要的用户ID - 批量获取场景可调用域用户列表接口,返回的每个用户条目都会携带对应的
id字段
接口返回的用户信息结构参考如下,id字段值可直接传入迁移接口:
{ "id": "103439483726251728493", "primaryEmail": "source@yourdomain.com", "name": { "fullName": "Source Account" } }- 给你的API服务账号开通Directory API的用户只读权限(权限范围标识为
单次手动迁移场景:从管理后台直接查看
不需要写代码批量处理的话,直接在后台就能拿到ID:- 用域超级管理员账号登录Google Workspace管理后台
- 进入用户管理列表,找到要迁移的源账号、目标账号,分别点击进入用户详情页
- 查看浏览器地址栏的页面路径,路径中
/users/后缀的那串长数字,就是对应用户的ID,直接复制使用即可
注意事项:Data Transfer API仅支持同一Google Workspace域下的账号数据迁移,个人免费Gmail账号、跨不同Workspace域的账号无法通过该接口完成迁移;调用迁移接口的账号必须拥有域超级管理员权限,否则会触发权限校验报错。
内容的提问来源于stack exchange,提问作者Try Something New
相关产品推荐
相关产品推荐

