2011-09-12 17 views
20

मैं उपयोगकर्ताओं को साइट पर Google के साथ लॉगिन करने और उनके नाम और ईमेल पते को इकट्ठा करने की अनुमति देना चाहता हूं लेकिन मुझे google's api: https://www.googleapis.com/auth/userinfo के लिए userinfo स्कोप पर कोई दस्तावेज़ नहीं मिल रहा है।नाम, Google के OAuth API से ईमेल

धन्यवाद

उत्तर

8

मैं अनुरोध टोकन के दायरे के रूप में http://www-opensocial.googleusercontent.com/api/people/ और https://www.googleapis.com/auth/userinfo#email का उपयोग करें।

वर्तमान उपयोगकर्ता का डेटा प्राप्त करने के लिए संरक्षित संसाधन url https://www-opensocial.googleusercontent.com/api/people/@me/@self है।

मुझे उपयोगकर्ता का G + प्रोफ़ाइल और नाम मिलता है। मैं अभी तक उपयोगकर्ता का ईमेल प्राप्त करने में सक्षम नहीं हूं लेकिन मुझे लगता है कि मैं करीब

+0

मैं इस प्लगइन Hello.js कहा जाता है का उपयोग कर ईमेल प्राप्त करने की कोशिश की गई थी। यह आईडी नाम पुनर्प्राप्त करता है लेकिन ईमेल के लिए यह अनिर्धारित कहता है। – 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

कि मिल जाएगा आपको बस इतना चाहिए! यदि आप स्कोप https://www.googleapis.com/auth/userinfo.profile और https://www.googleapis.com/auth/userinfo.email में शामिल हैं - - ईमेल पते की आपूर्ति करेगा (कक्षा नवीनतम जावा एपीआई में GoogleIdToken देखें)

+2

धन्यवाद, यह वही है जो मुझे चाहिए था। अन्य संदर्भ के लिए यह http://googlecodesamples.com/oauth_playground/index.php आपके Google OAuth scopes को समझने के लिए बेहद सहायक है। –

+0

यह शानदार – Sid

+6

एक स्पेस के साथ स्कॉप्स अलग करता है - किसी ऐसे व्यक्ति के लिए जो अब – Nasir

1
नवीनतम OAuth 2 मसौदा समर्थन के साथ

गूगल ने गूगल आईडी टोकन, एक जगह OpenID Connect कार्यान्वयन जो प्रदान करता है। दुर्भाग्य से, हालांकि, यह उपयोगकर्ता का नाम प्रदान नहीं करता है। लेकिन यह एक ऐसा तरीका है जिसके लिए कम राउंडट्रिप्स की आवश्यकता होती है, अगर आप केवल ईमेल पते के साथ ही कर सकते हैं।

8

गूगल अजगर एपीआई का उपयोग कर 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

क्यों जान सकता है इस उत्तर को वोट दें? पूरी तरह से काम करो, मेरी समस्या हल हो गई। मैं जी + एपीआई का उपयोग कर रहा था और मैं उपयोगकर्ता के ईमेल भी चाहता था, मुझे बस oauth2 के साथ अनुरोध करने की आवश्यकता थी। धन्यवाद ! – Aki

+0

यह काम करने के लिए जोनाथन माबे उत्तर में उल्लिखित क्षेत्रों के साथ Google+ साइन इन बटन के डेटा-स्कोप विशेषता को सेट करना आवश्यक है। – marcelocra

1

यहाँ गूगल कोड का उपयोग कैसे उन पाने के लिए एक php उदाहरण है विवरण

.... $ oauth2 सेवा = नया Google_Oauth2 सेवा ($ ग्राहक); var_dump ($ oauth2 सेवा-> userinfo-> प्राप्त करें()); ...

Bellow वेब सेवाओं (एक OAuth प्रॉक्सी के साथ और OAuth1) OAuth2 को प्रमाणित करने के लिए और उनके बाकी एपीआई क्वेरी करने के लिए गूगल http://code.google.com/p/google-api-php-client/source/browse/trunk/src/contrib/Google_Oauth2Service.php

2

क्लाइंट-साइड जावास्क्रिप्ट एसडीके से वर्ग है। हैलोजेएस सामान्य एपीआई जैसे Google डेटा सर्विसेज, फेसबुक ग्राफ और विंडोज लाइव कनेक्ट के लिए पथ और प्रतिक्रिया मानकीकृत करता है। इसकी मॉड्यूलर ताकि सूची बढ़ रही है। कोई और स्पेगेटी कोड नहीं!

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

संबंधित मुद्दे