0

奇怪,刚刚发现任何以“你”开头的问题都被SO标记为“主观”。反正...

我有一个使用 Python Google API 客户端连接到 YouTube 的应用程序。到目前为止,我主要将它用于个人目的,所以我对拥有开发者帐户的人使用标准 OAuth 过程很好(密钥不是真实的。试试他们——我敢):

USERID = '63213491243299.apps.googleusercontent.com'
    KEY = '5hraer8afuda0sf3afeawwoaFCKyJ'
    SCOPE = 'https://www.googleapis.com/auth/youtube'
    AGENT = 'Mind Reading Algorithm'

FLOW = OAuth2WebServerFlow(
client_id=USERID,
client_secret=KEY,
scope=SCOPE,
user_agent=AGENT)

storage = Storage('credentials.dat')
credentials = storage.get()
if credentials is None or credentials.invalid == True:
    credentials = run(FLOW, storage)

http = httplib2.Http()
http = credentials.authorize(http)

return build(serviceName='youtube', version='v3', http=http)

这很好用,但是如果我想将程序作为命令行工具分发怎么办?我希望能够简单地向用户询问他们的 youtube 用户名和密码并从那里连接到 API,将凭据存储在 DAT 中,这样他们就不必每次都重新插入密码。有没有办法使用谷歌客户端包装器轻松实现这一点?他们的 OAuth 文档……没有什么帮助。

4

1 回答 1

0

您的应用程序无法存储用户的密码,并且没有 API 可以使用用户名密码进行访问。但是您可以存储 OAuth 令牌,因此用户不需要一直输入密码。

您将在此处的示例中看到,您将刷新 OAuth 令牌存储在 json 文件中。

https://code.google.com/p/youtube-api-samples/source/browse/samples/python/my_uploads.py

于 2013-03-07T03:31:28.130 回答