姓名,来自Google OAuth API的电子邮件

时间:2011-09-12 20:47:57

标签: oauth google-api

我想允许用户在网站上使用google登录并收集他们的姓名和电子邮件地址,但我找不到关于google的api的{user}范围的任何文档:https://www.googleapis.com/auth/userinfo

由于

6 个答案:

答案 0 :(得分:65)

这是获取姓名和电子邮件的更好方式。

将您的范围设置为:

https://www.googleapis.com/auth/userinfo.email

https://www.googleapis.com/auth/userinfo.profile

并使用端点:

https://www.googleapis.com/oauth2/v1/userinfo?alt=json

这将为您提供所需的一切!

答案 1 :(得分:8)

我用     http://www-opensocial.googleusercontent.com/api/people/https://www.googleapis.com/auth/userinfo#email作为请求令牌的范围。

受保护的资源网址是 https://www-opensocial.googleusercontent.com/api/people/@me/@self获取当前用户的数据。

我获得了用户的G +个人资料和姓名。我还没有收到用户的电子邮件,但我认为我很接近

答案 2 :(得分:8)

使用Google Python API检索OAuth用户信息:

https://developers.google.com/api-client-library/python/start/installation https://developers.google.com/api-client-library/python/guide/aaa_oauth

import httplib2
from apiclient.discovery import build
from oauth2client.client import OAuth2WebServerFlow

http = httplib2.Http()
http = credentials.authorize(http)

users_service = build('oauth2', 'v2', http=http)
user_document = users_service.userinfo().get().execute()

答案 3 :(得分:2)

客户端Javascript SDK,用于使用OAuth2(以及带有oauth代理的OAuth1)Web服务进行身份验证,并查询其REST API。 HelloJS标准化对常见API的路径和响应,如Google Data Services,Facebook Graph和Windows Live Connect。它的模块化使列表不断增长。没有意大利面条代码了!

http://adodson.com/hello.js/

答案 4 :(得分:1)

借助最新的OAuth 2草案支持,Google提供了Google ID令牌,这是一项OpenID Connect实施,如果您包含范围https://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/userinfo.email - 将提供电子邮件地址(请参阅课程{最新的Java API中的{1}}。不幸的是,这并没有提供用户的名字。但如果您只使用电子邮件地址,这种方式需要更少的往返。

答案 5 :(得分:1)

以下是使用Google代码获取用户详细信息的php示例

.... $ oauth2Service = new Google_Oauth2Service($ client); 后续代码var_dump($ oauth2Service-> userinfo->得到()); ...

Bellow是google的课程 http://code.google.com/p/google-api-php-client/source/browse/trunk/src/contrib/Google_Oauth2Service.php