2

我正在尝试将文件更改为另一个用户并使新用户成为文件的所有者,但这不起作用。

我首先做了一个权限插入并将新用户添加为作家,这没问题。但我没有直接将用户添加为“所有者”(返回内部 500 错误)

然后我尝试使用 Permission: 列表并将 newuser 视为作家。得到该用户的 id 并尝试使用 Permisson Update,并使用“transferOwnership”给新用户。但这也不起作用,我总是收到 500 Internal Server 错误。

这可能是新用户不属于我作为所有者所属的同一个电子邮件域的任何东西吗?如果这是原因,是否还有其他原因将所有权更改为外部域?

Content-Type:  application/json
Authorization:  Bearer ya29.AHES6ZRkl82BYjpu
X-JavaScript-User-Agent:  Google APIs Explorer

{
"role": "owner",
"type": "user",
"value": "newuser@officedomain.com"
}

这给出了一个错误:

500 Internal Server Error

- Show headers -

{
"error": {
"errors": [
{
"domain": "global",
"reason": "internalError",
"message": "Internal Error"
}
],
"code": 500,
"message": "Internal Error"
}
}

编辑:发现当两个用户具有相同的电子邮件域时可以更改所有权。但现在到另一个问题。当所有权转移到另一个使用时,该文件未显示在“共享文件”中对我来说听起来是正确的,但它也没有显示在目录结构中。如果我选择“显示所有文件”,它是可见的,如果我指定文件名,则可以搜索。但它不应该也在根目录的“我的驱动器”中吗?

4

1 回答 1

4

您无法owner为其他域的用户添加权限。您只能owner为当前文件所有者所属域中的用户添加权限。

我认为我们可以使用以下算法解决它:

  • 为来自destination-domain.com 的用户添加writer对源文件的权限。权限:插入。(请求 source-domain.com)
  • 现在你可以复制这个文件了。文件:复制. (请求destination-domain.com)。
  • 复制您想要的权限、评论和任何其他属性。

我知道,这不是最简单的解决方案,但它有效。

于 2013-04-08T21:15:57.750 回答