问题标签 [google-drive-shared-drive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
157 浏览

google-drive-api - 401-为 Google Team 驱动器下载文件时未授权

我正在尝试使用 Drive Picker 访问团队驱动器文件。

但我收到了这个错误

所以我尝试检查 Google API Explorer 并通过传递fileId和调用 API supportsTeamDrives = true。但在 Google API Explorer 中,它也给了我同样的错误。

我在这里缺少什么?在此处输入图像描述在此处输入图像描述

0 投票
2 回答
1707 浏览

r - 如何在 R 的团队云端硬盘中读取 Google 电子表格?

这可能是一个非常简单的问题,但我似乎无法弄清楚。我们最近将一个项目从 Google 云端硬盘上的共享文件夹移到了团队云端硬盘。我曾经使用以下代码直接从 R 访问电子表格:

但是现在我们移动了项目,它不再工作了,因为 googlesheets 包只适用于我的 Google Drive 目录。我找到了一个用于访问我的团队驱动器(googledrive)的包,并且我设法在目录中找到了该文件,但我似乎无法弄清楚如何阅读我的特定工作表:

这让我对电子表格的元数据有了一点了解,而不是像 gs_title() 这样的实际电子表格。必须有一个功能来做到这一点吗?

0 投票
3 回答
2908 浏览

google-apps-script - Google Apps 脚本 TeamDrive DriveApp.searchFolders 和 DriveApp.searchFiles 不返回任何结果

我有一些用于搜索 TeamDrive 上的文件和文件夹的Google Apps 脚本代码。

我遇到的问题是,如果我的同事创建了一个文件或文件夹,当我运行我的脚本时它找不到该文件。如果我创建了一个文件,而我的同事运行了该脚本,那么即使我们都有权查看、编辑并且可以查看云端硬盘中的文件和文件夹,该脚本也找不到该文件。如果我们中的一个人编辑了另一个人制作的文件,那么它就会从搜索中看到。

在进行一些 android 开发时,我遇到了 Drive REST api 的类似问题。在 Android 中调用 files().list() 时,我花了一段时间才发现我必须设置以下内容才能使我的搜索每次都能成功。

  1. .setSupportsTeamDrives(真)
  2. .setIncludeTeamDriveItems(true)
  3. .setCorpora("teamDrive")
  4. .setTeamDriveId(myFolder.getTeamDriveId())

我假设我的应用程序脚本代码遇到了同样的问题。

https://developers.google.com/apps-script/reference/drive/drive-app#searchFiles(String)

这说是指

https://developers.google.com/drive/api/v3/search-parameters#examples_for_teamdriveslist

所以我可能会使用

corpora="teamDrive"

有没有办法设置支持团队驱动器?和 setIncludeTeamDriveItems?和 setTeamDriveId?在谷歌应用脚​​本中

0 投票
1 回答
406 浏览

android - 检测新/删除指纹登记

我目前正在我的应用程序中的 [ https://github.com/googlesamples/android-FingerprintDialog]进行指纹身份验证,但我无法检测到添加或删除的任何新指纹。每当指纹管理器发生更改时,我都在寻找回调/事件。

我对 KeyPermanentlyInvalidatedException 的理解是,它是在例如删除指纹或在设备设置中添加新指纹时抛出的。只有当我得到那个例外

  1. 打开一个应用程序,密钥由 mKeyGenerator.generateKey() 创建;
  2. 确认指纹
  3. 最小化应用程序
  4. 打开设置并添加新指纹
  5. 返回应用程序并尝试再次进行身份验证,抛出新的 KeyPermanentlyInvalidatedException

但是,如果将第 3 点替换为“退出应用程序”并且我按照后续步骤进行操作,则不会抛出异常,原因很简单,即重新创建了密钥。我的问题是如何检测是否在 2 个不同的运行时之间添加/删除了新指纹?

请帮我解决这个问题。

0 投票
1 回答
60 浏览

go - 如何获取特定版本的所有修改用户

跟进Google Drive Rest API:如何获取特定版本的所有修改用户

大约3年了,所以我不确定状态是什么,但我想我会再次询问状态。

我看到 Google Drive API @ https://developers.google.com/drive/api/v3/reference/revisions/get

实际上应该完全按照这里的要求做,但是当我调用 API 时,它会null返回LastModifyingUser

我不确定这是一个正在进行的 API 还是我做错了什么,所以任何帮助都将不胜感激。只是为了提供一些参考,我发布了一些基本代码,这些代码是对这里可以找到的内容的补充...... https://developers.google.com/drive/api/v3/quickstart/go

0 投票
1 回答
581 浏览

java - Google 云端硬盘复制、团队云端硬盘(服务)到我的云端硬盘(用户)

我正在尝试做我认为简单的操作,但我在使用 Google API 时遇到了一些问题。我有两个 Google 凭据,一个来自服务帐户,一个来自已通过应用程序身份验证的用户的访问/刷新。

服务帐户具有域范围委派。

在服务帐户可以访问的团队驱动器(模板)上,我有一个文档,我想将其复制到用户的我的驱动器(根目录)。我通过以下方式获得文件夹的ID:

它返回正确的标识符。当我使用服务帐户复制文件时,我可以整天在团队云端硬盘中进行复制。当我将它复制到用户的驱动器时,我得到“找不到文件:$userRootId”。

我假设这源于服务帐户无法访问用户的我的驱动器。我怎样才能使这个操作工作?有没有人尝试过这个?

0 投票
2 回答
1111 浏览

google-apps-script - 如何使用 Google Apps 脚本将文件夹从 MyDrive 复制到 TeamDrive?

我发现以下 Google Apps 脚本允许我将文件夹从 MyDrive 复制到 MyDrive 并将 SharedFolders 复制到 MyDrive:

我试图修改它以将文件夹从 MyDrive 复制到 Teamdrive,但我失败了,就像我完全的菜鸟一样。有人可以为此目的帮助我更新它吗?

0 投票
2 回答
275 浏览

python - 通过 Drive API 在国际设置中创建具有设置区域设置的 Drive 文件

我需要使用 Google Drive API 创建一个文件(我正在使用 v3,目前是最新的)。如果重要,请使用 python。

我的代码如下,

根据@ here的文档,我尝试将properties密钥设置为所需的区域设置,但它会继续使用我帐户的默认区域设置创建文件。

我怎样才能让它在创建时工作?我可以填写另一个参数吗?

0 投票
1 回答
612 浏览

google-apps-script - 如何获取 Google 团队云端硬盘的经理/贡献者/等?

团队云端硬盘有五个权限级别:

  • 经理
  • 内容管理者
  • 贡献者
  • 评论者
  • 查看器

另一方面,Folder API 只有三个函数用于获取文件夹中人员的用户列表

  • getEditors()
  • getOwner()
  • getViewers()

如果您使用的是“我的云端硬盘”,这可以正常工作,因为它具有完全相同的三个级别:

  • 是所有者
  • 可以组织、添加和编辑
  • 只能查看

如何获得 Google 团队云端硬盘中的 5 个访问级别中的每一个?如果我确实调用了这 3 个函数,它们对应于团队云端硬盘上的哪个访问级别?(例如,是否getEditors返回Manager组中的每个人?)

我看到有一个Permission枚举具有我正在寻找的确切 5 个权限:

  • VIEW
  • EDIT
  • COMMENT
  • OWNER
  • ORGANIZER

...我可以调用getAccess()以获取给定的访问级别Useror email。问题是我不知道将哪个emails 传递给函数。

如何获得 5 个类别中的任何一个(例如Content Manager)的人员列表?或者我如何获取 Team Drive 上所有人员的列表(例如,让我知道要使用哪些电子邮件getAccess())?

0 投票
1 回答
92 浏览

google-drive-api - Google Drive API - 当多个用户登录时从 webViewLink 为特定用户加载文档

我正在使用 Google Drive API v3 来获取有关给定文件的数据,特别是webViewLink. 然后我拿那个 webViewLink 并打开它,通常嵌入在 iframe 中。

我遇到的问题有时是浏览器具有多个 Google 帐户的凭据,并且我无法控制在加载文档时使用哪些 Google 帐户凭据。

情况比这更复杂,但假设它在学校的共享计算机上,并且有两个不同的学生登录。所以一个学生做他们的工作,包括访问谷歌驱动器上的东西,然后离开,离开他们的帐户已登录。另一个学生出现并访问了 Google Drive 上的共享文档。他们认为他们正在使用自己的谷歌帐户进行编辑,但加载文档实际上是使用第一个学生的凭据进行编辑的,即使我的工具使用第二个学生的凭据来访问 Google Drive 并获取webViewLink加载文档。

所以,我知道理想的情况是没有共享计算机等。但在这种情况下我的问题是:有没有办法获得用户特定的webViewLink或附加某种查询参数webViewLink来强制它加载第二个学生的凭据?我希望webViewLink返回以反映其凭据用于请求它的用户。