使用Python访问"Google Drive"时的错误(google quickstart.py源代码)

6 投票
3 回答
1820 浏览
提问于 2025-04-21 02:00

我正在尝试学习如何通过Python访问Google Drive,但遇到了一些问题。

我按照谷歌官方网站的教程进行了操作:https://developers.google.com/drive/...t-python?hl=es。此外,我还看了关于这个的在线视频教程,我觉得我做的和视频里的完全一样。

我来告诉你我按照的步骤:

1 - 安装pip工具,以便从谷歌安装SDK。

2 - 安装谷歌的SDK:使用命令“pip install --upgrade google-api-python-client”。

在这一步一切都很顺利,实际上在导入等操作上没有出错。

3 - 启用Drive API:我按照步骤操作,创建了一个“本地应用的客户端ID”和一个“网页应用的客户端ID”。

4 - 我创建了一个名为“document.txt”的文档,并复制了快速入门的源代码。

5 - 我用“本地应用的客户端ID”中的“CLIENT_ID”和“CLIENT_SECRET”替换了相应的内容(我也试过用网页应用的客户端ID)。

6 - 我运行程序,屏幕输出是:

No handlers could be found for logger "oauth2client.util"
Go to the following link in your browser:
<link>
Enter verification code:

在寻找解决方案时,我发现了一些关于这个错误的信息:

import logging
...
logging.basicConfig()

现在,输出是:

C:\workspaces\asd\prsGoogleApi>quickstart.py
WARNING:oauth2client.util:__init__() takes at most 4 positional arguments (5 giv
en)
Go to the following link in your browser:
<link>
Enter verification code:

如果我尝试访问那个链接,错误是:

401 - That's an error
Error: invalid_client.
No application name.

Request details:
response_type=code
scope=https://www.googleapis.com/auth/drive
access_type=offline
redirect_uri=urn:ietf:wg:oauth:2.0:oob
client_id=...

3 个回答

0

实际上,添加上面提到的代码就能完全解决这个问题。

import logging
logging.basicConfig(filename='debug.log',level=logging.DEBUG)
5

这里提到的模块 oauthclient.util 有一些假设,认为已经设置了日志记录。而这个警告其实掩盖了一个更详细的警告或错误,它试图写入日志。

如果你在自己的代码中添加一些日志记录,那么就能看到真正的错误是什么:

import logging
logging.basicConfig()

这样做就能把上面那个错误的表现替换成我输出中的真实错误(具体情况可能会有所不同)。

一旦这个问题解决了,你可以安全地删除这两行代码(不过如果其他地方出问题,你可能还会回到这里)。

这个问题是在谷歌搜索 No handlers could be found for logger "oauth2client.util" 时出现的,相关的还有这个问题这个问题

1

我找到了问题,原来是我在“同意屏幕”部分没有填写我的电子邮件地址和客户端名称。

现在一切都正常了。

撰写回答