尝试使用python访问"google drive"时出错(google quickstart.py源代码)

Dan*_*Dan 6 python google-api oauth-2.0 google-api-python-client

我正在尝试学习如何从Python访问Google云端硬盘,但我遇到了问题.

我按照谷歌官方网站的教程:https://developers.google.com/drive /... t-python?hl = es 另外,我已经看过关于这个的视频教程,我想我做的比视频家伙.

我告诉你我按照字面意思执行的步骤:

1 - 安装pip工具以从Google安装SDK.

2 - 从Google安装SDK:"pip install --upgrade google-api-python-client"

在这一步一切顺利,事实上,使进口等没有错.

3 - Drive Enable API:我按照原样执行步骤,创建"本机应用程序的客户端ID"和"Web应用程序的客户端ID"

4 - 我创建文档"document.txt"并快速启动时复制源代码.

5 - 我通过出现在"本机应用程序的客户端ID"中替换"CLIENT_ID"和"CLIENT_SECRET"(我还使用Web应用程序进行了测试)

6 - 我跑,屏幕输出是:

No handlers could be found for logger "oauth2client.util"
Go to the following link in your browser:
<link>
Enter verification code:
Run Code Online (Sandbox Code Playgroud)

寻找解决方案,我发现了一些有关该错误的信息:

import logging
...
logging.basicConfig()
Run Code Online (Sandbox Code Playgroud)

现在,输出是:

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:
Run Code Online (Sandbox Code Playgroud)

如果我尝试访问该链接,则错误为:

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=...
Run Code Online (Sandbox Code Playgroud)

Joh*_*Mee 5

有问题的模块oauthclient.util假设已建立日志记录,并且此警告实际上掩盖了它尝试写入日志的更详细的警告/错误.

如果您向自己的代码添加一些日志记录,那么它应该揭示底层错误:

import logging
logging.basicConfig()
Run Code Online (Sandbox Code Playgroud)

足以用输出中的真实错误(YMMV)替换上述错误的外观.

一旦解决了这个问题,你可以安全地删除这两行(尽管如果出现其他问题,你可能会回到这里).

这个问题在谷歌搜索想出了No handlers could be found for logger "oauth2client.util"旁边这个问题这个问题.


Dan*_*Dan 1

我发现了问题,那就是我没有将我的电子邮件地址和客户名称放在“同意屏幕”部分。

现在效果很好。