这似乎是一个愚蠢的问题,但我确实无法在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),这就是我想要的。
答案 0 :(得分:2)
在您的OAuth 2.0范围列表中添加email
。然后尝试:
print 'Authenticated as: %s' % credentials.id_token[u'email']