使用 Google Data Transfer API 的 insert 方法开始传输

Emp*_*yee 2 google-api google-apps google-admin-sdk

我正在尝试使用Google Admin SDK Data Transfer APItransfers:insert方法。我正在以我的域的超级管理员帐户执行此 API 调用。我已验证为我们的域启用了API 访问,并且超级管理员管理员角色有权使用数据传输 API。

我正在此页面上的 API 资源管理器中对此进行测试。

55656082996是我从Applications:list APIs Explorer为 Google Drive 获取的 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"
  }
 ]
}
Run Code Online (Sandbox Code Playgroud)

回复:

400 OK
- SHOW HEADERS -
{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalid",
    "message": "Invalid value for: Invalid oldOwnerUserId."
   }
  ],
  "code": 400,
  "message": "Invalid value for: Invalid oldOwnerUserId."
 }
}
Run Code Online (Sandbox Code Playgroud)

"Invalid value for: Invalid oldOwnerUserId."无论我使用电子邮件地址还是用户名,我都会得到相同的回复。我也尝试applicationDataTransfers从响应中排除数组,但这也不起作用。

Emp*_*yee 5

文档没有说明这一点,但 Id 不能是用户的电子邮件地址,就像在所有其他 Google API 中一样,而是需要是用户的数字 ID,您可以使用Users:get Directory API 方法获取该 ID .

我通过谷歌搜索和遇到这个文档,他们oldOwnerUserId通过说“ #ID ”详细说明了这一点。