问题标签 [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 回答
8584 浏览

python - python + google drive:上传xlsx,转换为google sheet,获取共享链接

我想要的程序的流程是:

  1. 将 xlsx 电子表格上传到驱动器(它是使用 pandas 创建的to_excel
  2. 将其转换为 Google 表格格式
  3. 指定任何知道链接的人都可以编辑它
  4. 获取链接并与将输入信息的人分享
  5. 下载完成的表格

我目前正在使用 PyDrive,它解决了第 1 步和第 5 步,但还有一些未解决的问题。

如何转换为谷歌表格格式?我试图在'application/vnd.google-apps.spreadsheet'创建要使用 PyDrive 上传的文件时指定 mimeType,但这给了我一个错误。

如何将文件设置为任何知道链接的人都可以编辑?一旦设置好,我就可以使用 PyDrive 轻松获得共享链接。

更新:从 xlsx 到 google 表格的转换很容易使用convert=True标志。见下文。我仍在寻找一种方法来将我的新文件的共享设置设置为“任何知道链接的人都可以编辑”。

0 投票
2 回答
757 浏览

python - kivy pydrive buildozer ImportError: No module named iri2uri

我有一个 kivy 应用程序,它在我的 linux 桌面上运行。

我还可以使用 buildozer 构建它并在我的 android 手机上运行该应用程序。

我通过 pydrive 模块包含与 google-drive 的同步 -> 适用于 linux。

我将 PyDrive 添加到我的 buildozer.spec 文件的要求中,但是当我在 android 上运行我的应用程序时,我通过 adb 在手机上收到以下错误:

0 投票
1 回答
1092 浏览

python - 使用 Python 以编程方式访问 Google Drive

有没有办法以编程方式访问 Google Drive 文件夹,而无需为每个会话手动使用 OAuth 进行身份验证?

我已经使用了 PyDrive并设法访问了驱动器,但是每次运行 Python 脚本时,我仍然必须通过手动浏览器 OAuth 访问页面。

有没有办法使用 Python 授予对 Google Drive 的永久访问权限?

0 投票
1 回答
912 浏览

python - 如何在每次不征得许可的情况下将文件上传到其他用户的 Google Drive?

除了第一次之外,有什么方法可以将文件上传到其他用户的 Google Drive,而无需每次都要求登录或验证码?

到目前为止,我使用的是 pydrive,但它每次都要求登录。除此之外还有其他方法,例如用于跳过用户登录的密钥或其他东西?

0 投票
3 回答
13633 浏览

python - 在谷歌驱动器上创建一个文件夹(如果不存在)并使用 Python 脚本将文件上传到它

到目前为止,如果文件存在,我可以将文件上传到该文件夹​​。我想不出一种方法来创建一个。因此,如果该文件夹不存在,我的脚本就会死掉。

如果它不存在,你能帮我修改上面的代码来创建文件夹gpath吗?

0 投票
0 回答
1881 浏览

python - 使用 python 脚本自动将文件上传到 Google Drive

我有以下代码自动验证/授权我的谷歌驱动器访问。我已将 client_secrets.json 文件复制到脚本的父目录中。该代码打开一个浏览器选项卡并等待我单击“接受”。在我接受后,代码继续运行,创建一个文件夹(如果不存在)并将我的文件存储到其中。

我想在远程服务器上运行此脚本,但不知道服务器是否有浏览器和/或脚本是否会在其上成功运行。我想完全自动化这个过程,而不是让用户在浏览器上单击“接受”,而是让脚本在没有用户干预的情况下处理所有事情。

这也是一个运行数小时的非常大的脚本的一部分,可能会被编程为每周左右自动运行。因此,任何用户依赖都是非常不可取的。


我已经尝试过Gerardo的方法(来自第二条评论)。我想我可能已经成功地自动验证了我的应用程序。我创建了一个服务帐户并使用 SignedJwtAssertionCredentials 生成授权的 http 对象,如下所示:

不确定我的应用是否获得授权。它不会抛出任何错误,所以我认为它应该可以工作。我仍然需要将文件上传到文件夹。我该如何进行?

0 投票
3 回答
1807 浏览

python - pyDrive 给出 FileNotDownloadableError 错误

我正在尝试从谷歌驱动器下载带有 PyDrive 的文件。我按照说明http://pythonhosted.org/PyDrive/filemanagement.html#download-file-content。它在我自己的域中正常工作。

日志如下。

我正在我客户的域中尝试同样的事情,它给出了以下错误

我的代码 driveDownload.py 如下

是否缺少某些设置?我能够列出我客户的谷歌驱动器中的所有文件。但是,当我尝试将文件下载到本地磁盘时出现错误

0 投票
0 回答
1276 浏览

google-api - pydrive.auth.RefreshError:未找到 refresh_token

我正在尝试使用 pydrive 从谷歌驱动器下载文件。代码是从自动化 pydrive 验证过程中修改的

它给出了以下错误。

因此,我按照stackoverflow here的说明进行操作

无法让它工作。我错过了一些基本的东西吗?

我的 settings.yaml 在下面

我收到以下错误:

我的代码是 driveDownload.py :

0 投票
0 回答
475 浏览

google-api - 使用 PyDrive 将 .csv 数据上传到 Google 工作表的特定工作表

到目前为止,我已经设法使用 PyDrive 制作了一个 python 脚本到一个新的 Google Sheet,使用:

但是,理想情况下,我不仅希望能够指定要上传到的电子表格 ID,还希望能够指定要向其中添加信息的电子表格中特定工作表的 GID。

有谁知道这是否可能?

0 投票
2 回答
907 浏览

python - 谷歌驱动器的 pydrive 库未使用请求以请求的格式下载文件

我设置了一个简单的脚本,用于从我的谷歌驱动器帐户中获取文件并进行更新。我在验证和访问驱动器方面没有问题。该文件采用驱动器上的谷歌电子表格的形式。因此,当我拥有 pydrive 文件对象时,我会通过 .csv 格式获取文件的 URL google_file['exportLinks']['text/csv']。这在过去是有效的,但是今天我对一个新文件尝试了同样的方法,而不是获取数据的 csv 格式,我一直在获取 HTML。此外,如果我从我的链接复制并粘贴google_file['exportLink']['text/csv']并将其放入浏览器中,浏览器将开始按要求下载 csv 格式的文件。我真的不知道发生了什么,特别是因为这在过去有效。

这基本上是我的代码的作用:

有没有其他人以前见过这个问题?我应该尝试删除并重新添加驱动器上的谷歌电子表格文件吗?

编辑:更新

因此,在将谷歌驱动器上文件的权限从只有与文件共享的人可以访问到所有人都可以访问/编辑之后,我能够访问和下载文件。clients_secret.json 文件是否允许特定的谷歌驱动器用户安全授权,或者是允许任何人在该特定会话中访问谷歌 API 的通用密钥?如果文件仅与一组有限的电子邮件地址共享,是否有任何特殊数据必须通过 http 请求发送?