我想允许用户在网站上使用google登录并收集他们的姓名和电子邮件地址,但我找不到关于google的api的{user}范围的任何文档:https://www.googleapis.com/auth/userinfo。
由于
答案 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。它的模块化使列表不断增长。没有意大利面条代码了!
答案 4 :(得分:1)
借助最新的OAuth 2草案支持,Google提供了Google ID令牌,这是一项OpenID Connect实施,如果您包含范围https://www.googleapis.com/auth/userinfo.profile和https://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