如何从Google Python SDK OAuth2获得电子邮件



这似乎是一个愚蠢的问题,但我从字面上找不到Google SDK文档中的任何地方。

如何从授权我离线访问Google API的用户帐户中获取电子邮件地址(xxxxx@gmail.com)?

import httplib2
import datetime  
from apiclient import discovery
from oauth2client import client

json_credentials_as_string = "..."
credentials = client.OAuth2Credentials.from_json(json_credentials_as_string)
http_auth = credentials.authorize(httplib2.Http())
service = discovery.build('calendar', 'v3', http=http_auth)
# ...?

服务列表在这里,但没有提及任何实际获取用户信息的东西。

这说明了如何获取主要日历(使用"主要"日历),这可能是他们的帐户电子邮件,但我不确定必须是吗?如果有人更改了他们的主要日历,似乎可能不会返回他们的Google电子邮件ID(xxxx@gmail.com),这是我想要的。

在您的OAuth 2.0范围列表中包含email。然后尝试:

print 'Authenticated as: %s' % credentials.id_token[u'email']

最新更新