使用Python访问"Google Drive"时的错误(google quickstart.py源代码)
我正在尝试学习如何通过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 个回答
实际上,添加上面提到的代码就能完全解决这个问题。
import logging
logging.basicConfig(filename='debug.log',level=logging.DEBUG)
这里提到的模块 oauthclient.util
有一些假设,认为已经设置了日志记录。而这个警告其实掩盖了一个更详细的警告或错误,它试图写入日志。
如果你在自己的代码中添加一些日志记录,那么就能看到真正的错误是什么:
import logging
logging.basicConfig()
这样做就能把上面那个错误的表现替换成我输出中的真实错误(具体情况可能会有所不同)。
一旦这个问题解决了,你可以安全地删除这两行代码(不过如果其他地方出问题,你可能还会回到这里)。
这个问题是在谷歌搜索 No handlers could be found for logger "oauth2client.util"
时出现的,相关的还有这个问题和这个问题。
我找到了问题,原来是我在“同意屏幕”部分没有填写我的电子邮件地址和客户端名称。
现在一切都正常了。