Google Drive SDK:以用户身份修改应用程序拥有的文件

时间:2014-06-05 19:56:27

标签: google-app-engine google-drive-api

我有一个Google App Engine应用程序:

  1. 对用户进行身份验证并授权drive.file scope;

  2. 通过应用程序拥有的'regular' Google帐户代表用户创建和存储文件;

  3. 与该用户共享该文件(授予写入权限)。

  4. 但是,当用户尝试通过应用创建的授权云服务更新其中一个文件时,会引发following exception

    403: The authenticated user has not granted the app {appId} access to the file {fileId}

    我错过了什么?鉴于该文件最初由应用程序创建并且仍由应用程序拥有,为什么用户必须专门授予应用程序对文件的访问权限?

    我的目标是让用户修改文件(他们具有写访问权限,存储在应用程序拥有的帐户中/由应用程序拥有的帐户拥有)作为他们自己,以便维护适当的'最后修改用户'归因。

    除了(a)授权驱动器之外,我还能做些什么来解决这个问题吗?范围,(b)使用Google Picker或云端硬盘用户界面明确地'使用我的应用程序打开文件(这是否意味着该文件必须存在于用户的云端硬盘帐户中?),或者(c)让我的应用程序拥有的帐户执行所有文件更新操作?

1 个答案:

答案 0 :(得分:2)

文件范围授权目前作为用户 - 应用程序对完成。每个用户都必须单独授权应用程序访问该文件。

鉴于此,我认为您已经确定了可能的解决方案。对于b,文件不需要由用户拥有,他们只需要访问它。与他们分享就足够了。