2011-09-12 16 views

答えて

8

現在のユーザーのデータを取得する保護されたリソースのURLは https://www-opensocial.googleusercontent.com/api/people/@me/@selfです。

私はユーザーのG +プロファイルと名前を取得しました。私はまだユーザーの電子メールを受け取ることができませんが、私は近いと思います

+0

私はHello.jsと呼ばれるこのプラグインを使用して電子メールを取得しようとしていました。それはIDの名前を取得しますが、電子メールの場合は定義されていません。 – Vikram

63

これは、名前と電子メールを取得するより良い方法です。

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

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

とエンドポイントを使用します:

なります

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

をするあなたのスコープを設定し

あなたが必要なのはあなただけ! (最新のJava APIでクラスGoogleIdTokenを参照)、電子メールアドレスを提供します - あなたは、スコープhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/userinfo.emailを含む場合 - 最新のOAuth 2ドラフトサポートにより

+2

ありがとう、これは私が必要としたものです。その他の参考資料については、このhttp://googlecodesamples.com/oauth_playground/index.phpは、Google OAuthのスコープを把握するのに非常に役立ちます。 –

+0

これは華麗です – Sid

+6

スペースでスコープを区切る - 今知っている人のために – Nasir

1

、Googleは、GoogleのIDトークン、OpenIDの接続の実装が用意されています。残念ながら、これはユーザーの名前を提供しません。しかし、それはあなたが電子メールアドレスだけで行うことができれば、より少ないラウンドトリップを必要とする方法です。

8

GoogleのPythonのAPIを使用してのUserInfoの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() 
+2

なぜこの回答を投票しますか?完璧に動作し、私の問題を解決しました。私はG + APIを使用していましたが、私はユーザーの電子メールも欲しかったので、oauth2でリクエストする必要がありました。ありがとう! – Aki

+0

これを行うには、Jonathan Mabeの回答に記載されているスコープでGoogle+のサインインボタンのデータスコープ属性を設定する必要があります。 – marcelocra

1

は、ユーザーを取得する方法をGoogleのコードを使用してPHPの例である

の詳細を.... $ oauth2Service =新しいGoogle_Oauth2Service($ client); var_dump($ oauth2Service-> userinfo-> get()); ...

ベローは(のOAuthプロキシとし、OAuth1)のOAuth2でWebサービスを認証し、そのREST APIのを照会するためのGoogle http://code.google.com/p/google-api-php-client/source/browse/trunk/src/contrib/Google_Oauth2Service.php

2

クライアント側のJavaScript SDKからクラスです。 HelloJS Google Data Services、Facebook Graph、Windows Live Connectなどの共通APIへのパスと応答を標準化しています。モジュラーなので、リストが増えています。もうスパゲッティコードはありません!

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

関連する問題