问题标签 [pydrive]

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 投票
2 回答
1039 浏览

python - 使用 pydrive 在循环中使用包含文件夹 ID 的变量列出文件

我正在使用 pyDrive 获取特定文件夹 ID 中所有文件的列表。如果我对文件夹 ID 进行硬编码,它可以正常工作,但我想使用循环,并循环浏览文件夹 ID 的列表。可能只是我没有将变量正确格式化为命令。

这工作正常....

但是,如果我将该语句放入 for 循环中以循环浏览文件夹 ID 列表,则它不起作用。'0B1fhQb9wymxEUUFGVXpfYlJhTk0' 是我需要在 for 循环中换出变量的部分。

我已经尝试了各种我可以在网上找到的例子的 for 循环,以及各种替换循环变量的方法。甚至尝试将命令的前半部分放在一个字符串中,后半部分放在另一个字符串中,然后是“first + x + last”,但这也不起作用。

也试过

0 投票
2 回答
1782 浏览

python - pydrive:一旦我知道 id,如何重命名 google 电子表格的标题?

在“更新文件元数据”下,它显示了如何从创建的文件中更改标题如果我知道 id 或 key,我正在寻找如何更改标题。或者有没有办法做到这一点gspread

0 投票
1 回答
502 浏览

python - 如何从 pyDrive 请求将 csv 转换为正确处理小数分隔符的 Google 电子表格?

我正在使用 python 将 csv 文件上传到 Google Drive。csv 文件使用小数点作为小数点分隔符,但是当转换为 google 电子表格时会出现错误转换:

示例:十进制数 1.10 被视为文本(可接受),但有时会转换为日期字符串,这会导致数字不可读。

这是代码:

根据 Google Drive Help Forum 中的这个帖子,电子表格文档的语言设置或 Drive 界面的语言将负责使用小数点或小数点逗号进行转换。

  • 可以请求 Google Drive 的界面语言吗?(所以我可以相应地准备 csv 文件)

  • 可以使用元数据设置我上传文件的语言吗?(所以它可以匹配界面的语言)

  • 您是否可以通过另一种方法将 csv 文件正确转换为 google 电子表格?

0 投票
2 回答
4059 浏览

python - 几次请求后超出用户速率限制

我正在通过pydrive使用 Google Drive API在两个 Google Drive 帐户之间移动文件。我一直在测试一个包含 16 个文件的文件夹。我的代码总是在第六个文件中引发错误

"超出用户速率限制">

我知道请求的数量是有限制的(10/s 或 1000/100s),但我已经尝试了 Google Drive API 建议的指数退避来处理这个错误。即使在 248 秒之后,它仍然会引发相同的错误。

这是我在做什么的例子

我尝试使用“批处理请求”来复制文件,但它会为 10 个文件引发相同的错误。

有没有人有任何提示?

编辑:根据谷歌支持:

关于您的用户速率限制超出错误,与控制台中设置的每用户速率限制完全无关。相反,它来自 Drive API 所依赖的内部 Google 系统,并且最有可能在单个帐户拥有域中的所有文件时发生。我们不建议单个帐户拥有所有文件,而是让域中的个人用户拥有文件。对于传输文件,您可以查看此链接。另外,请检查此链接的建议以避免错误。

0 投票
2 回答
683 浏览

python - Google Drive API 权限,如何禁用互联网上的任何人都可以找到?

我搜索谷歌但没有得到任何结果,我的代码如下:

而且,我获得的文件权限是:

任何人都可以找到和查看

但是,我只希望任何人都可以查看,但无法找到:

任何人都可以查看

0 投票
1 回答
352 浏览

python - 复制某些文件时超出了未经身份验证的使用的每日限制

我在 python 中创建了一个网络应用程序来在我的 Google Drive 帐户之间复制文件。公开共享文件到我的帐户。

我收到以下错误

我尝试了一切,更改范围,在 Google Console 中启用 SDK 等。问题是这个错误似乎只在我复制一些文件时出现,并且该应用程序适用于其他文件,甚至是同一帐户中的文件。

我正在使用 pydrive 来处理身份验证,遵循我的操作方式:

这是我的 settings.yaml

我使用 Google 的驱动器API 文档中的示例复制文件

同样,这似乎不是身份验证的问题,因为它适用于某些文件而不适用于其他文件。甚至同一帐户中的文件。有谁知道这个问题的解决方案?

编辑:根据建议,我通过传递 pydrive 使用 DriveAPI 构建身份验证,我得到了同样的错误。

我发现了如何获取请求:

这里的请求

0 投票
2 回答
2027 浏览

python - Python:从 Google Drive API 获取 zip 文件并加载其内容

zipfileGoogle Drive. 在那zipfile是一个XML file,我想解析,提取特定信息并将此信息保存在我的本地计算机(或任何地方)上。

我的目标是使用 Python 和 Google Drive API(在PyDrive的帮助下)来实现这一点。工作流程可能如下:

  1. 通过 Google Drive API (PyDrive) 连接到我的 Google Drive
  2. 获取我的 zipfile id
  3. 将我的 zipfile 加载到内存中
  4. 解压,获取xml文件
  5. 解析 XML,提取所需信息
  6. 在我的本地计算机上将其另存为 csv

现在,我可以执行步骤 1、2、4、5、6。但是我不知道如何将 zipfile 加载到内存中而不先将其写入本地硬盘。

以下 PyDrive 代码将获取 zipfile 并将其放在我的本地 HDD 上,这不是我想要的。


我想一种解决方案可能如下:

我可以将 zipfile 读取为带有某种编码的字符串:

然后,我可以以某种方式(不知道如何,也许StringIO有用)用 Python zipfile 库读取这个字符串。这个解决方案甚至可能吗?有没有更好的办法?

0 投票
2 回答
3406 浏览

python - Python:谷歌驱动器认证

我的任务是连接到 Google Drive API(在PyDrive 模块的帮助下)并下载一些文件。我设法让这个东西在我的本地计算机上运行 - 我在谷歌控制台注册了我的“应用程序” ,我下载了client_secret.json,运行脚本,验证窗口弹出,我用我的谷歌帐户登录并且可以访问驱动器,一切还好。

现在我想在服务器上使用我的脚本,但我基本上不知道该怎么做。我向我的提供商提交了一张支持票,他们的回答是:


你需要得到这些:

哪里#authJson是'whoevers-drive-you-want-to-access'授权的结果,并且#appKey来自#appSecretoauth。


我不知道如何确切地得到这些。我知道怎么下载client_secret.json。所以问题是:如何获得这些?我什至走在正确的轨道上吗?或者需要不同的方法。

理想的最终状态是:在我的 Google Drive 中拥有某种永久access_token属性,我可以将其传递给应用程序(例如,作为字符串参数)。然后该应用程序连接到我的云端硬盘并下载所需的文件。

0 投票
1 回答
790 浏览

python - PyDrive 中带有 InsertPermission() 的可选查询参数

是否可以使用InsertPermission()PyDrive 发送可选查询参数的值?PyDrive 文档似乎忽略了如何处理切换可选参数,例如sendNotificationEmails.

我需要在不发送通知电子邮件的情况下为特定用户而不是任何人添加文件权限,并且默认sendNotificationEmails设置为True

我已经考虑将函数的 files.py 定义修改为以下内容,但我不确定这是否可行并且之前没有编辑过库:

0 投票
5 回答
2472 浏览

python - 无法使用 PyDrive 在谷歌驱动器中的文件夹之间移动文件

我一直在尝试使用 PyDrive 将文件从我的谷歌驱动器中的一个文件夹移动到另一个文件夹

是否可以像这样更改文件夹?如果不是,请建议使用 PyDrive 的任何替代方案。