2011-09-12 17 views

Respuesta

8

I utilizan http://www-opensocial.googleusercontent.com/api/people/ y https://www.googleapis.com/auth/userinfo#email como el alcance de las señales de petición.

La url de recursos protegidos es https://www-opensocial.googleusercontent.com/api/people/@me/@self para obtener los datos del usuario actual.

Obtengo el nombre y el perfil G + del usuario. Todavía no puedo recibir el correo electrónico del usuario, pero creo que estoy cerca

+0

yo estaba tratando de obtener el correo electrónico que utiliza este plugin llamado Hello.js. Recupera el nombre de identificación pero para el correo electrónico dice indefinido. – Vikram

63

Esta es una mejor manera de obtener el nombre y el correo electrónico.

Establecer sus alcances a:

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

y

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

y utilizar el criterio de valoración:

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

que conseguirá ¡todo lo que necesitas!

+2

Gracias, esto es exactamente lo que necesitaba. Para referencia de otros, este http://googlecodesamples.com/oauth_playground/index.php es extremadamente útil para descubrir los alcances de Google OAuth. –

+0

Esto es brillante – Sid

+6

separa los ámbitos con un espacio - para alguien que ahora podría saber – Nasir

1

Con el último borrador de soporte OAuth 2, Google proporciona fichas de identificación de Google, una implementación de OpenID Conectar el que - si se incluyen los ámbitos https://www.googleapis.com/auth/userinfo.profile y https://www.googleapis.com/auth/userinfo.email - suministrará la dirección de correo electrónico (ver la clase GoogleIdToken en la última API de Java). Lamentablemente, sin embargo, esto no proporciona el nombre del usuario. Pero es una forma que requiere menos viajes de ida y vuelta, si puede arreglárselas solo con la dirección de correo electrónico.

8

Recuperar OAuth userinfo mediante la API de Google Python:

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() 
+2

¿Por qué votar esta respuesta? Funcionó perfectamente, resolvió mi problema. Estaba usando G + API y también quería el correo electrónico del usuario, solo necesitaba hacer una solicitud con oauth2. Gracias ! – Aki

+0

Para que esto funcione, es necesario establecer el atributo de ámbito de datos del botón de inicio de sesión de Google+ con los ámbitos mencionados en la respuesta de Jonathan Mabe. – marcelocra

2

Una JavaScript en el cliente SDK para autenticar con OAuth2 (y OAuth1 con un proxy de OAuth) servicios web y consultar sus restos API. HelloJS estandariza rutas y respuestas a API comunes como Google Data Services, Facebook Graph y Windows Live Connect. Es modular, por lo que la lista está creciendo. ¡No más código de espagueti!

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

Cuestiones relacionadas