3

当我看到本教程并尝试运行测试代码 Google Drive SDK Python Quickstart Sample

视频: https ://www.youtube.com/watch?v=zJVCKvXtHtE&list=PL0FA2818902D9D123

代码: https ://docs.google.com/document/d/1GD3Ee07QsqxQZ-UDTNIbMqtSu4U_servCeQsd9rCkp8/edit

我收到一个错误,它说“ValueError:redirect_uri 的值不能为无”

我google了一下,无法解决这个问题。我应该修复什么?

谢谢!!!

4

2 回答 2

4

问题实际上很简单。API 只需要知道如何处理凭据。您会看到已安装的应用程序和 Web 应用程序处理它的方式不同。对于 Web 应用程序,授权会将用户重定向到另一个页面。对于已安装的应用程序,您可能希望获得一个密钥。

因此,如果您使用的是已安装的应用程序,请更改以下代码行。

from oauth2client.client import flow_from_clientsecrets

path_to_json="client_secrets.json"    # download from https://code.google.com/apis/console/
AUTH_SCOPE 'https://www.googleapis.com/auth/drive'
#redirect_uri also provided in api console.The other URI mentioned there is for web applications.

flow = flow_from_clientsecrets(Path_to_JSON,AUTH_SCOPE,redirect_uri="urn:ietf:wg:oauth:2.0:oob")

`

于 2013-03-14T11:11:35.767 回答
2

我有同样的问题。我的解决方案是在代码中添加redirect_uri="urn:ietf:wg:oauth:2.0:oob"

#Before

flow = OAuth2WebServerFlow(CLIENT_ID, CLIENT_SECRET, OAUTH_SCOPE)

#After

flow = OAuth2WebServerFlow(CLIENT_ID, CLIENT_SECRET, OAUTH_SCOPE, redirect_uri="urn:ietf:wg:oauth:2.0:oob")
于 2015-01-05T14:58:47.217 回答