如何使tools.run_flow函数与GmailApi身份验证中的tools.run(不建议使用的方法)一样工作?

时间:2016-03-18 05:58:13

标签: python-2.7 oauth-2.0 gmail-api

我想在不提供身份验证流程的情况下刷新令牌。大家帮忙

1 个答案:

答案 0 :(得分:0)

基于此documentation,当用户在首次成功授权流程成功后访问您的应用时,您的应用可以使用存储的刷新令牌来授权请求​​,而无需再次提示用户。

  

如果您已经对用户进行了身份验证,则您的应用程序可以从其数据库中检索刷新令牌,并将令牌存储在服务器端会话中。如果刷新令牌被撤销或无效,您将需要捕获并采取适当的措施。

这是一个示例,演示如何实例化服务对象,然后授权它发出API请求。

from apiclient.discovery import build
# ...

def build_service(credentials):
  """Build a Gmail service object.

  Args:
    credentials: OAuth 2.0 credentials.

  Returns:
    Gmail service object.
  """
  http = httplib2.Http()
  http = credentials.authorize(http)
  return build('gmail', 'v1', http=http)

检索到OAuth 2.0凭据后,可以使用这些凭据授权Gmail服务对象并向API发送请求。以下是Google文档中的example