使用Javascript API时出现Google驱动权限问题

时间:2015-04-14 07:23:45

标签: javascript google-drive-api

我们有一个应用程序,我们正在使用Google drive API来创建

  • 文档
  • 电子表格
  • 幻灯片

我们已在Google管理帐户中获得组织级别的许可。当我创建文档时,它在共享按钮的顶部显示为People at our organization can view and access

我创建电子表格时最初显示为People at our organization can view and access,但是当我关闭并再次打开它的节目Private only to me时。

我不知道为什么许可会突然改变。创建文档/工作表/幻灯片时,我没有设置任何权限。我只打电话给gapi.client.drive.files.insert

1 个答案:

答案 0 :(得分:1)

当您第一次插入文件时,即使您在插入时设置了权限,它们也不会被保存,我想我已经看到了一个错误报告,我会尝试找到它。

  

Issue 3717: Google drive api, upload file with shared permission

插入文件后,在其上执行修补程序,以更新权限。不要使用file.update使用patch

从文档中窃取的代码:

/**
 * Patch a permission's role.
 *
 * @param {String} fileId ID of the file to update permission for.
 * @param {String} permissionId ID of the permission to patch.
 * @param {String} newRole The value "owner", "writer" or "reader".
 */
function patchPermission(fileId, permissionId, newRole) {
  var body = {'role': newRole};
  var request = gapi.client.drive.permissions.patch({
    'fileId': fileId,
    'permissionId': permissionId,
    'resource': body
  });
  request.execute(function(resp) {
    console.log('New Role: ' + resp.role);
  });
}