使用 Google 数据传输 API 的插入方法开始传输
Using the insert method of the Google Data Transfer API to start a transfer
我正在尝试使用 Google Admin SDK Data Transfer API 的 transfers:insert 方法。我作为我域的超级管理员帐户执行此 API 调用。我已验证 API 访问 已为我们的域启用,并且超级管理员管理员角色有权使用数据传输 API.
我正在 this page 上的 APIs 资源管理器中对此进行测试。
55656082996
是我从 applications:list APIs 资源管理器中为 Google 驱动器获得的 ID 字符串。
要求:
POST https://www.googleapis.com/admin/datatransfer/v1/transfers?key={YOUR_API_KEY}
{
"oldOwnerUserId": "olduser@ourdomain.com",
"newOwnerUserId": "newuser@ourdomain.com",
"applicationDataTransfers": [
{
"applicationId": "55656082996"
}
]
}
响应:
400 OK
- SHOW HEADERS -
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalid",
"message": "Invalid value for: Invalid oldOwnerUserId."
}
],
"code": 400,
"message": "Invalid value for: Invalid oldOwnerUserId."
}
}
无论我使用电子邮件地址还是用户名,我都会得到相同的 "Invalid value for: Invalid oldOwnerUserId."
回复。我也尝试从响应中排除 applicationDataTransfers
数组,但这也没有用。
文档没有这样说,但是 ID 不能像所有其他 Google API 一样是用户的电子邮件地址,而是需要是用户的数字 ID,您可以开始使用 Users:get Directory API method.
我通过 Google 搜索和遇到 this documentation 来解决这个问题,他们在 oldOwnerUserId
上说“# ID”
除了上面的回答。
以下是如何从 Python 中的 Gsuite API 获取员工 ID 3.*
def create_directory_service():
credentials = cls.get_credentials(scopes=['https://www.googleapis.com/auth/admin.directory.user'])
return build('admin', 'directory_v1', credentials=credentials, cache_discovery=Fals
service = create_directory_service()
old_owner_google_id = service.users().get(userKey=old_owner).execute()['id']
new_owner_google_id = service.users().get(userKey=new_owner).execute()['id']
我正在尝试使用 Google Admin SDK Data Transfer API 的 transfers:insert 方法。我作为我域的超级管理员帐户执行此 API 调用。我已验证 API 访问 已为我们的域启用,并且超级管理员管理员角色有权使用数据传输 API.
我正在 this page 上的 APIs 资源管理器中对此进行测试。
55656082996
是我从 applications:list APIs 资源管理器中为 Google 驱动器获得的 ID 字符串。
要求:
POST https://www.googleapis.com/admin/datatransfer/v1/transfers?key={YOUR_API_KEY}
{
"oldOwnerUserId": "olduser@ourdomain.com",
"newOwnerUserId": "newuser@ourdomain.com",
"applicationDataTransfers": [
{
"applicationId": "55656082996"
}
]
}
响应:
400 OK
- SHOW HEADERS -
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalid",
"message": "Invalid value for: Invalid oldOwnerUserId."
}
],
"code": 400,
"message": "Invalid value for: Invalid oldOwnerUserId."
}
}
无论我使用电子邮件地址还是用户名,我都会得到相同的 "Invalid value for: Invalid oldOwnerUserId."
回复。我也尝试从响应中排除 applicationDataTransfers
数组,但这也没有用。
文档没有这样说,但是 ID 不能像所有其他 Google API 一样是用户的电子邮件地址,而是需要是用户的数字 ID,您可以开始使用 Users:get Directory API method.
我通过 Google 搜索和遇到 this documentation 来解决这个问题,他们在 oldOwnerUserId
上说“# ID”
除了上面的回答。
以下是如何从 Python 中的 Gsuite API 获取员工 ID 3.*
def create_directory_service():
credentials = cls.get_credentials(scopes=['https://www.googleapis.com/auth/admin.directory.user'])
return build('admin', 'directory_v1', credentials=credentials, cache_discovery=Fals
service = create_directory_service()
old_owner_google_id = service.users().get(userKey=old_owner).execute()['id']
new_owner_google_id = service.users().get(userKey=new_owner).execute()['id']