我正在用gmail api编写一个程序,我遇到的一个问题是获取当前授权用户的电子邮件地址。我认为我可以使用https://www.googleapis.com/auth/userinfo.email
中的UPDATE
范围执行此操作,但是当我在Google的OAuth Playground中尝试使用时,它会请求“知道您在Google上的身份”的权限以及查看您的电子邮件的权限地址。该程序不需要知道用户的姓名/信息等,只需要电子邮件地址。
我甚至试图使用userinfo.email范围的原因是因为看了一段时间后我无法在gmail范围内找到获取用户电子邮件的方法但是如果有更好的方法。
答案 0 :(得分:4)
您可以使用getProfile - 方法,为此您需要以下范围之一:
https://mail.google.com/
https://www.googleapis.com/auth/gmail.modify
https://www.googleapis.com/auth/gmail.compose
https://www.googleapis.com/auth/gmail.readonly
然后您就可以获得电子邮件地址:
请求强>
GET https://www.googleapis.com/gmail/v1/users/me/profile?fields=emailAddress&access_token={ACCESS_TOKEN}
<强>响应强>
{
"emailAddress": "foo@gmail.com"
}
在Python中,这看起来像:
profile = gmail_service.users().getProfile(userId='me').execute()
print 'Email address of user is: %s' % profile['emailAddress']