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

标签 javascript google-drive-api

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

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

我们已在 Google 管理帐户中授予组织级别的权限。当我创建文档时,它在共享按钮顶部显示为我们组织的人员可以查看和访问

当我创建电子表格时,它最初显示为我们组织中的人员可以查看和访问,但是当我关闭并再次打开时,它显示仅对我可见 >。

我不知道为什么权限突然改变。我在创建文档/工作表/幻灯片时没有设置任何权限。我只调用 gapi.client.drive.files.insert

最佳答案

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

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);
  });
}

关于javascript - 使用 Javascript API 时出现 Google 驱动器权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29621429/

相关文章:

javascript - 获取特定刻度值的所有积分

javascript - 将带有 CSS3 过滤器的图像元素转换为 Blob

javascript - 在谷歌选择器中查看文件时,API 开发人员 key 无效

iphone - 如何获取 Google Drive 文件的公共(public) URL?

google-drive-api - 使用 Google Docs API 从 Google Drive 插入图片

javascript - jQuery validate 不会验证 keyup 上的输入,直到它失去焦点一次

javascript - 在循环中使用 setValue() 返回 "Uncaught error"

javascript - 使用 JavaScript/jQuery 的双重或多重回调设计模式

javascript - fs.writeFileSnyc/fs.writeFile 写入损坏的文件

java - 尝试获取 appDataFolder 中的文件列表时出现 GoogleAuthIOException