如何从Google Python SDK oauth2获取电子邮件?

时间:2016-12-01 20:53:33

标签: python oauth-2.0 google-calendar-api

这似乎是一个愚蠢的问题,但我确实无法在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)

# ...?

服务列表为here,但未提及实际获取用户信息的任何内容。

This shows how to get the primary calendar(使用' primary' calendarId),这可能是他们的帐户电子邮件,但我不确定是否必须这样做?如果有人更改了他们的主日历,似乎可能无法返回他们的谷歌电子邮件ID(xxxx@gmail.com),这就是我想要的。

1 个答案:

答案 0 :(得分:2)

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

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