- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 PyDrive 获取我的 Google Drive 中所有文件的列表。我已通读文档并完成所有步骤。我保存了客户端 secrets.json,但我继续收到以下错误。我使用的代码是:
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
gauth = GoogleAuth()
gauth.LocalWebserverAuth()
# Creates local webserver and auto handles authentication
drive = GoogleDrive(gauth)
file_list = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
for file1 in file_list:
print 'title: %s, id: %s' % (file1['title'], file1['id'])
我遇到的错误是,我该如何解决这个问题?
Traceback (most recent call last):
File "C:\Users\mydrive\Documents\Python\Google_Drive.py", line 5, in <module>
gauth.LocalWebserverAuth()
File "build\bdist.win-amd64\egg\pydrive\auth.py", line 67, in _decorated
self.GetFlow()
File "build\bdist.win-amd64\egg\pydrive\auth.py", line 345, in GetFlow
self.LoadClientConfig()
File "build\bdist.win-amd64\egg\pydrive\auth.py", line 294, in LoadClientConfig
self.LoadClientConfigFile()
File "build\bdist.win-amd64\egg\pydrive\auth.py", line 314, in LoadClientConfigFile
raise InvalidConfigError('Invalid client secrets file %s' % error)
InvalidConfigError: Invalid client secrets file File not found: "client_secrets.json"
最佳答案
根据错误日志,您的程序找不到文件:“client_secrets.json”。此文件至关重要,因为它有助于向 Google API 识别您的程序。
进行身份验证的步骤:
通过 Google Cloud Console 请求 Google Drive API 访问权限
步骤说明:https://pythonhosted.org/PyDrive/quickstart.html
我正在复制并更新原始页面的说明,以防将来该网站不可用:
获取 Google Drive API 访问权限的说明
转到 Google Developers Console - https://console.developers.google.com并创建一个新项目
点击启用和管理 API,点击Drive API,然后点击启用 API。
在 API 管理器中,单击左侧面板上的凭据。选择添加凭据,选择OAuth 2.0 客户端ID,然后选择Web 应用程序。 您可能需要配置同意屏幕,其中必填部分是产品名称,其余部分可以留空。
在创建客户端 ID 窗口中,选择 Web 应用程序作为应用程序类型,为您的应用程序指定 名称,为 Javascript 来源输入 http://localhost:8080
和 http://localhost:8080/
用于重定向 URI。重要提示:其中一个以/结尾,另一个不以/结尾。
从 Google Developers Console 下载 client_secrets.json 文件
转到 Google Developers Console - https://console.developers.google.com并找到使用 Google API 部分并点击启用和管理 API。在左侧面板中选择凭据。您应该会看到您的 OAuth 2.0 客户端 ID 列表。勾选您在第 1 步中创建的那个,然后单击下载 JSON 按钮(看起来像一个向下箭头图标)。将下载的文件重命名为 client_secrets.json。
将client_secrets.json放入项目目录
最好将下载的 client_secrets.json 文件放在与具有以下行的 python 程序相同的目录中:gauth.LocalWebserverAuth()
完成身份验证后,我建议您使用答案 https://stackoverflow.com/a/24542604/820173 中的代码保存凭据,这样您就不必在每次运行代码时都进行身份验证。
对于更高级的用户,可以使用高级凭据保存技术创建 settings.yaml 文件。 PyDrive 项目的测试文件中描述的示例:https://github.com/googledrive/PyDrive/tree/master/pydrive/test我想提一下,这些高级的东西并不是让事情继续下去所必需的,你所需要的只是这个答案中解释的 3 个步骤。
关于python - PyDrive:无效的客户端 secret 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28184419/
我知道如何使用 PyDrive 从我的驱动器下载文件,问题是我需要在共享驱动器上下载(或至少打开)一个 xlsx 文件。到目前为止,这是我下载文件的代码: from pydrive.auth impo
我使用库pydrive对于谷歌驱动器。现在我需要获取 Google 云端硬盘中的所有文件夹(根、父、子)名称。 我发现了这个: self.drive.ListFile().GetList() 但它返回
对不起我的英语。我使用 pydrive 与 google drive api 一起工作。我想获取文件列表。我这样做: return self.g_drive.ListFile({'q': 'tra
我的 Google 云端硬盘看起来像这样: picture1.jpg song1.mp3 a/b/file1.txt a/b/file2.txt a/b/file3.jpg a/b/file4.m4a
我一直在尝试使用 PyDrive 将文件从一个文件夹移动到我的谷歌驱动器中的另一个文件夹 file2 = drive.CreateFile({'id': }) file2['parents']= fi
我正在尝试将文件上传到我的 Google 驱动器,下面的代码有效。 如何指定要上传到哪个文件夹,即驱动器---与我共享--csvFolder from pydrive.auth import Goog
我正在尝试将 .doc 文件作为 html 从 Google 云端硬盘导出到。这是我的代码。我在文档中没有看到任何有关如何将文档下载为 html 的内容。但这里是我到目前为止的代码示例。我不确定 do
我正在尝试对 PyDrive 使用双重/口是心非。但是,我不断收到一条非常神秘的错误消息,告诉我引用 PyDrive 安装联机帮助页。没有提供解决方案。 这是我正在运行的重复命令的输出,包括错误。 $
我正在使用 PyDrive 将文件从我使用 Pyinstaller 打包的桌面 Python 应用程序上传到 GoogleDrive。我想尽可能地隐藏 client_secrets.json,所以我将
我正在使用 PyDrive ( http://pythonhosted.org/PyDrive/ ) 来简化对 Google 云端硬盘的 API 访问,但在尝试从云端硬盘中删除现有文件时遇到了障碍。我
在我的应用程序中,用户 A 使用 PyDrive 和 Google Drive 创建了一个文件,并使用保存到云端硬盘 self.User.GoogleFile.SetContentString(jso
我使用 Python 和 PyDrive 编写了一个程序。该程序捕获图像并将其上传到 Google Drive 上的文件夹。这是我的身份验证和上传的基本代码: gauth = GoogleAuth()
我正在尝试在使用 pydrive 库 (https://pypi.python.org/pypi/PyDrive) 时自动执行 GoogleAuth 过程。 我已经设置了 pydrive 和 goog
我正在尝试使用从(Ubuntu)服务器远程工作的python脚本自动将文件上传到谷歌驱动器。 在我的代码中,我有以下来自 Pydrive 的简单行: from pydrive.auth import
我正在尝试通过 PyDrive 将一个大型 csv 压缩文件(~6GB)上传到 Google Drive,但每次我尝试通过以下方式上传时: file = self.drive.CreateFile({
我正在尝试安装 PyDrive,以便将我的工作文件夹自动备份到 Google 云端硬盘。 我正在尝试使用 pip 在终端中安装 PyDrive,但没有这样的运气。 当我运行时 pip install
我想使用 Google Drive API 使用 cronjob 在其上存储一些备份。我只是不明白如何使用服务帐户使用 PyDrive。当我生成服务帐户文件时,我将它作为我的脚本放在目录中 clien
我正在尝试使用 PyDrive 从 Google Drive 下载文件。我按照指示http://pythonhosted.org/PyDrive/filemanagement.html#downloa
我正在使用 PyDrive 在 Google 云端硬盘中创建文件,但我在处理实际的 Google 文档类型项目时遇到了问题。 我的代码是: file = drive.CreateFile({'titl
我正在使用 pydrive 1.2.1 在 python 3.5.2 中编写一个小脚本,我需要能够删除一个文件,该文件不是存储在我的计算机本地,而是存储在我的 Google Drive 帐户中。 do
我是一名优秀的程序员,十分优秀!