5

我正在开发一个应用程序,它应该为 Google Apps 管理员提供重新分配文件所有权的能力。目前我正在使用带有 C# 代码的 Google Drive SDK for .NET。

当我在https://developers.google.com/drive/v2/reference/permissions/insert的 Google Drive SDK 测试演示中进行身份验证并填写FileId属于管理员的文件并尝试插入另一个所有者时Google Apps 域我收到 500 内部服务器错误。我正在使用这些值:

POST     https://www.googleapis.com/drive/v2/files/0B1Y4_hVm0vbESlZuZHhBemtjcXM/permissions?key={YOUR_API_KEY}

Content-Type:  application/json
Authorization:  Bearer {MY_ACCESSTOKEN}
X-JavaScript-User-Agent:  Google APIs Explorer

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

“Try It”演示为我设置了示波器

  • https://www.googleapis.com/auth/drive

  • https://www.googleapis.com/auth/drive.file

    做这个操作。

我可以通过使用以相同管理员用户身份验证的 Try It 演示来获取文件的权限列表,但我无法插入删除所有者权限。

我选择了 Google Drive SDK,因为它更新并且 Google Docs API 刚刚被贬低,但我愿意使用任何最好的工具来更新所有权。我只是在寻找通往那个目标的最直接的道路。

有没有人让所有权更新工作?如果是这样,您使用了什么工具?

4

3 回答 3

1

我提交了一个内部错误供我们的工程师进行调查,但是,当我尝试与来自外部域的用户而不是来自同一域的用户共享时,我只设法重现了该问题。

Google Apps 域管理员可以阻止其用户将所有权更改为外部用户,但在这种情况下,API 不应返回 500,而是失败并显示描述性错误消息。

我会在收到我们的调查回复后立即更新此答案。

于 2012-09-24T09:46:09.263 回答
0

几个月前我遇到了同样的问题。我昨天重试了它,现在它似乎工作了。谷歌工程师似乎已经解决了这个问题。

希望它也开始为你工作。

于 2014-02-20T22:56:13.707 回答
0

使用 transferOwnership 标志为我解决了这个问题。

在 python api 客户端中,您可以执行以下操作:

service.permissions().patch(
        fileId=doc.drive_id, permissionId=permission_id,
        body=patched_permission, transferOwnership=True).execute()
于 2013-11-26T02:45:30.910 回答