问题标签 [google-drive-picker]

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 回答
729 浏览

google-drive-api - Google Drive Picker:使用 Feature.MINE_ONLY 和 Feature.SUPPORT_DRIVES

我正在尝试创建一个显示以下视图的 Google Drive Picker:

  1. “文件夹”视图,显示当前用户的文件夹树,允许他只选择当前用户拥有的文件

  2. “最近”视图,显示当前用户拥有的最新打开的文件

  3. “共享云端硬盘”视图(注意:以前称为“团队云端硬盘”),显示当前用户有权访问的共享云端硬盘(他不是文件的所有者,因为共享云端硬盘文件归 G Suite 平台所有用户)

第一次尝试:Feature.MINE_ONLYFeature.SUPPORT_DRIVES

我尝试的第一件事是同时启用MINE_ONLYSUPPORT_DRIVES上的功能PickerBuilder,但是这会导致“共享驱动器”视图为空,因为用户不是共享驱动器中文件的所有者(请参阅上面的说明)。

第二次尝试:Features.SUPPORT_DRIVE+setOwnedByMe(true)

我尝试的第二件事是仅启用该SUPPORT_DRIVES功能,并setOwnedByMe(true)在“文件夹”和“最近”视图上使用该方法。

它几乎可以按预期工作,但是“文件夹”视图没有显示文件夹,因为该setOwnedByMe函数不能与setIncludeFolders视图(参考)一起调用。

以下是我第二次尝试的代码的简化版本(我故意没有放验证码):

0 投票
1 回答
652 浏览

javascript - Google Drive API (Javascript) - 无法从 Google Drive 下载 pdf 文件内容

尝试通过文件选择器从 Google Drive 下载 pdf 文件时遇到问题。我的代码可以按预期处理图像和视频,但不能处理 pdf 文件。通过 API 下载图像时,https://www.googleapis.com/drive/v3/files/' + file.id + '?alt=media';我得到以下响应:

但是当使用 pdf 文件 id 调用相同的 url 时,我没有 get url 属性,因此也没有文件内容。因此,当打开下载的 pdf 文件时,它只是空/空白。我在这里想念什么?

这是我下载文件内容的代码:

谢谢。

0 投票
1 回答
855 浏览

javascript - 如何使用 Google Drive API 获取特定文件夹中所有文件的列表

我正在研究一种更快的方法来从 Google Drive 获取数据以用于数据输入。我有一堆包含图像的文件夹,我需要获取每个图像的 URL,以及以像素为单位的宽度和高度(每个图像的属性的一部分)。

我以前从未使用过 Google Drive API,所以我查阅了文档。它有一个 JS 演示应用程序,列出了驱动器基目录中的所有文件。但是,我不知道如何更改它以请求某个文件夹中的文件。

这个想法是用户粘贴 Google Drive 文件夹的 ID,然后 JavaScript 程序返回链接、宽度和高度。然后,用户可以简单地将其粘贴到数据输入表单中。

这是列出文件的功能:

我已经看到如何使用 URL GET 请求来完成它,但不知道如何将其转换为gapi.client.drive如上所示的请求。

这里的任何帮助都会很好。

0 投票
1 回答
177 浏览

google-drive-api - 如何避免 Google Drive API 审核?-- 仅需要读取权限才能列出文件夹中的文件并下载它们

我正在开发的产品目前使用范围“ https://www.googleapis.com/auth/drive ”(现在被谷歌“限制”),它提供对用户云端硬盘帐户的完全读写访问权限,包括应用元数据。但是我们只需要读取权限来列出特定文件夹中的所有文件和文件夹,并且我们需要能够下载这些文件,仅此而已。

Google Drive API 将很快应用新的“受限”范围政策 ( https://support.google.com/cloud/answer/9110914#restricted-scopes ),这将要求我们通过非常昂贵的审核(数万美元...)。是否有可能的解决方法来获得对特定文件夹的“只读”访问权限并避免审核(请注意https://www.googleapis.com/auth/drive.readonly也是受限模式)?

我知道“ https://www.googleapis.com/auth/drive.file ”范围(谷歌“推荐”,因此不需要审核),这几乎解决了这个问题。但是我们有成千上万的用户从多个驱动器文件夹中引入数据,并每天推送新文件。这个范围会在每天早上为客户引入一个手动步骤,必须“批准”每个新文件,这将是一个很大的可扩展性/可用性问题。

理想情况下,我希望 Google 在进行审计之前添加一个新范围,例如对文件夹内任何内容的只读访问权限……但我怀疑这会很快发生。

有谁知道更好的选择?

[编辑] 作为参考,这里是范围列表,我们可以看到哪些是“受限”、“敏感”和“推荐”:https ://developers.google.com/drive/api/v2/about-auth

0 投票
0 回答
541 浏览

android - 是否可以使用存储访问框架实现 Google Drive 文件夹选择器对话框?

我的应用程序要求用户选择一个 Google Drive 文件夹,以便以后可以将文件保存到所选文件夹。

到目前为止,它使用的是 Google Drive Android API 的文件夹选择器 UI,但现在它已被弃用并关闭。迁移说明建议使用存储访问框架(又名 SAF)来替换以前可用的文件选择器 UI。

问题是当我尝试使用 ACTION_OPEN_DOCUMENT_TREE 操作来启动 SAF UI 时,Google Drive 没有出现。另一个 Stackoverflow 帖子建议SAF不支持选择 Google Drive 文件夹,这很奇怪,因为它是一个非常重要和基本的功能。

有什么方法可以为 Google Drive 实现文件夹选择器 UI,而无需自己从头开始构建它?

0 投票
1 回答
1162 浏览

reactjs - 提供的目标来源 ('https://docs.google.com') 与收件人窗口的来源 ('http://localhost:3000') 不匹配

嗨,我正在尝试从我的 react 应用程序访问 google drive,当我登录时出现 iframe 并显示“开发人员密钥无效”。我正在使用谷歌驱动库react-google-picker

Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://docs.google.com') does not match the recipient window's origin ('http://localhost:3000')在浏览器控制台中收到这样的消息。

我不明白为什么会这样说The target origin provided ('https://docs.google.com'),我http://localhost:3000在谷歌开发者控制台中输入了 Javascript 原始 url。是 iframe 的问题吗?

0 投票
1 回答
218 浏览

pagination - Google Picker API 未显示超过 50 个文档

一段时间以来,我一直在使用 Google Picker API 从 Drive 中选择文件。然而,事实证明,对于超过 50 个元素的文件夹,它只显示前 50 个。

我想知道是否有配置参数可以将此限制设置得更高或调用下一个函数来对结果进行分页。我查看了他们的文档,找不到任何关于此类内容的参考。

这是我的代码:

0 投票
1 回答
201 浏览

javascript - Google Picker not showing Shared drive

I am using Google Picker in a Google Sheet Add-in. I am using the following JS to load the API.

#xA;

And following is code which creates and show the picker, Now I wanted to show the shared drives also to picker window for that I added view.setEnableDrives(true); and .enableFeature(google.picker.Feature.SUPPORT_DRIVES) and it started failing after adding view.setEnableDrives(true);, it works fine (without shared drive) if I remove this line.

#xA;

}

Following is the error that I get in the browser console.

#xA;

Any help on this will be much appreciated.

0 投票
3 回答
859 浏览

javascript - 通过 Web App 将图像上传到 Google Drive,并将对应的链接保存在电子表格中

这是我第一次使用js和html编码的方法,请尽可能简单!

我想改进在我的网络应用程序中开发的表单,使上传图像成为可能。我的目标是:

  • 在我的网络应用程序上添加输入类型文件
  • 将文件发送到服务器端
  • 将文件保存在 G Drive 中,获取链接并将其保存在 Google Sheet 中

为此,我已经在我的 html 中添加了一个文件输入区域,但我不确定如何在脚本部分管理它。

表单中添加的所有信息都在一个名为的对象中发送到服务器,measureInfo我想维护这个例程。当我尝试添加

它没有运行并且控制台返回`由于属性中的非法值而失败:媒体。

在这里我报告一些可能有助于回答的代码字符串。如果您对如何使用 DriveApp 在服务器端管理文件有一些建议,请分享!

0 投票
1 回答
1001 浏览

google-colaboratory - 默认情况下,Google Drive 中的 .ipynb 文件不会使用 Colaboratory 打开

我的 Google Drive 中有两个扩展名为 .ipynb 的文件,但其中一个被标记为未知文件类型并带有一个蓝色图标。我该怎么做才能将第二个更改为 Colaboratory 文件?

在此处输入图像描述