दिलचस्प पोस्ट
कंडिशनल स्टेटमेंट और टर्नरी ऑपरेटर का उपयोग किए बिना क्यू में अधिकतम तीन नंबर प्राप्त करें JavaFX में पारदर्शी पृष्ठभूमि के साथ स्पलैश स्क्रीन कैसे बनाएं एडीबी के माध्यम से रूट के रूप में एक स्क्रिप्ट लॉन्च करें आईओएस 7 में 180 सेकंड से परे पृष्ठभूमि में एनएसटीइमर को चलाने के लिए कैसे? _sqlite3 नामक कोई मॉड्यूल नहीं कस्टम डिजाइनिंग EditText पायथन सूची निर्देशिका, उपनिर्देशिका, और फ़ाइलें आईपी ​​पते से Node.js- आधारित HTTP सर्वर तक पहुंच प्रतिबंधित करें पिंग साइट और वापसी परिणाम PHP में अजगर में अयोग्य अपवाद लॉगिंग आर में कच्चे एचटीएमएल से डेटा निकालें jQuery: एक तत्व का वर्ग और आईडी को एक ही समय में चुनें? जावास्क्रिप्ट (ईएस 6), निर्यात कंस्ट्रक्शन एक्सपोर्ट डिफॉल्ट डेटा को अधिलेखित किए बिना किसी मौजूदा एक्सेल फ़ाइल को कैसे लिखना (पंडों का उपयोग करना)? मैं गूगल मानचित्र एपीआई V3 में पैनिंग कैसे सीमित कर सकता हूं?

Google API के माध्यम से उपयोगकर्ता जानकारी प्राप्त करें

क्या Google एपीआई के माध्यम से उपयोगकर्ता के प्रोफाइल से जानकारी प्राप्त करना संभव है? यदि यह संभव है, तो मुझे किस API का उपयोग करना चाहिए?

मैं ऐसी जानकारी में दिलचस्प हूँ:

  • उपयोगकर्ता प्रोफ़ाइल में यूआरएल (जैसे https://profiles.google.com/115063121183536852887 );
  • लिंग (लिंग);
  • प्रोफाइल फोटो।

साथ ही उपयोगकर्ता की प्रोफ़ाइल से अन्य जानकारी प्राप्त करने के लिए यह अच्छा होगा।

Solutions Collecting From Web of "Google API के माध्यम से उपयोगकर्ता जानकारी प्राप्त करें"

इस कार्यक्षेत्र में जोड़ें – https://www.googleapis.com/auth/userinfo.profile

और प्राधिकरण के बाद, https://www.googleapis.com/oauth2/v1/userinfo?alt=json- से जानकारी प्राप्त करें

इसमें सामान का भार है – नाम, सार्वजनिक प्रोफ़ाइल यूआरएल, लिंग, फोटो इत्यादि सहित

गुंजाइश – https://www.googleapis.com/auth/userinfo.profile

return youraccess_token = access_token 

https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=youraccess_token प्राप्त करें

आपको जेसन मिलेगा:

 { "id": "xx", "name": "xx", "given_name": "xx", "family_name": "xx", "link": "xx", "picture": "xx", "gender": "xx", "locale": "xx" } 

ताहिर यासीन को:

यह एक पीएचपी उदाहरण है।
आप user.info सरणी प्राप्त करने के लिए json_decode फ़ंक्शन का उपयोग कर सकते हैं।

 $q = 'https://www.googleapis.com/oauth2/v1/userinfo?access_token=xxx'; $json = file_get_contents($q); $userInfoArray = json_decode($json,true); $googleEmail = $userInfoArray['email']; $googleFirstName = $userInfoArray['given_name']; $googleLastName = $userInfoArray['family_name']; 

इस अवसर https://www.googleapis.com/auth/userinfo.profile को अब नापसंद कर दिया गया है। कृपया https://developers.google.com/+/api/auth-migration#timetable देखें ।

प्रोफ़ाइल प्रोफ़ाइल प्राप्त करने के लिए आप नए स्कोप का उपयोग करेंगे: प्रोफ़ाइल या https://www.googleapis.com/auth/plus.login

और अंत बिंदु है – https://www.googleapis.com/plus/v1/people/ {userId} – वर्तमान में लॉग इन उपयोगकर्ता के लिए userId सिर्फ 'मी' हो सकता है।

मैं PHP का उपयोग कर रहा हूं और इसे google-api-php-client का संस्करण 1.1.4 का उपयोग कर हल किया है

यह मानते हुए कि उपयोगकर्ता को Google प्रमाणन पृष्ठ पर रीडायरेक्ट करने के लिए निम्न कोड का उपयोग किया जाता है:

  $client = new Google_Client(); $client->setAuthConfigFile('/path/to/config/file/here'); $client->setRedirectUri('https://redirect/url/here'); $client->setAccessType('offline'); //optional $client->setScopes(['profile']); //or email $auth_url = $client->createAuthUrl(); header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL)); exit(); 

एक मान्य प्रमाणन कोड मानते हुए redirect_url वापस किया redirect_url , निम्नलिखित प्रमाणीकरण कोड से एक टोकन उत्पन्न करेगा और साथ ही बुनियादी प्रोफ़ाइल जानकारी प्रदान की जाएगी:

  //assuming a successful authentication code is return $authentication_code = 'code-returned-by-google'; $client = new Google_Client(); //.... configure $client object code goes here $client->authenticate($authentication_code); $token_data = $client->getAccessToken(); //get user email address $google_oauth =new Google_Service_Oauth2($client); $google_account_email = $google_oauth->userinfo->get()->email; //$google_oauth->userinfo->get()->familyName; //$google_oauth->userinfo->get()->givenName; //$google_oauth->userinfo->get()->name; //$google_oauth->userinfo->get()->gender; //$google_oauth->userinfo->get()->picture; //profile picture 

हालांकि, स्थान वापस नहीं किया गया है नए YouTube खाते में यूट्यूब विशिष्ट उपयोगकर्ता नाम नहीं हैं

मैं नेट के लिए Google API का उपयोग कर रहा हूं, लेकिन इसमें कोई शक नहीं है कि आप एपीआई के दूसरे संस्करण का उपयोग करके इस जानकारी को प्राप्त करने का एक ही तरीका खोज सकते हैं। यूजर 872858 के रूप में उल्लेख किया गया है, स्कोप userinfo.profile नापसंद कर दिया गया है ( Google लेख )।

उपयोगकर्ता प्रोफ़ाइल जानकारी प्राप्त करने के लिए मैं निम्नलिखित कोड का उपयोग करता हूं ( Google के उदाहरण से पुनः लिखा भाग):

 IAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow( new GoogleAuthorizationCodeFlow.Initializer { ClientSecrets = Secrets, Scopes = new[] { PlusService.Scope.PlusLogin,"https://www.googleapis.com/auth/plus.profile.emails.read" } }); TokenResponse _token = flow.ExchangeCodeForTokenAsync("", code, "postmessage", CancellationToken.None).Result; // Create an authorization state from the returned token. context.Session["authState"] = _token; // Get tokeninfo for the access token if you want to verify. Oauth2Service service = new Oauth2Service( new Google.Apis.Services.BaseClientService.Initializer()); Oauth2Service.TokeninfoRequest request = service.Tokeninfo(); request.AccessToken = _token.AccessToken; Tokeninfo info = request.Execute(); if (info.VerifiedEmail.HasValue && info.VerifiedEmail.Value) { flow = new GoogleAuthorizationCodeFlow( new GoogleAuthorizationCodeFlow.Initializer { ClientSecrets = Secrets, Scopes = new[] { PlusService.Scope.PlusLogin } }); UserCredential credential = new UserCredential(flow, "me", _token); _token = credential.Token; _ps = new PlusService( new Google.Apis.Services.BaseClientService.Initializer() { ApplicationName = "Your app name", HttpClientInitializer = credential }); Person userProfile = _ps.People.Get("me").Execute(); } 

की तुलना में, आप उपयोगकर्ताप्रोफाइल का उपयोग करके लगभग कुछ भी एक्सेस कर सकते हैं।

अद्यतनः यह कोड काम करने के लिए आपको Google साइन इन बटन पर उपयुक्त स्कोप का उपयोग करना होगा। उदाहरण के लिए मेरे बटन:

  <button class="g-signin" data-scope="https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/plus.profile.emails.read" data-clientid="646361778467-nb2uipj05c4adlk0vo66k96bv8inqles.apps.googleusercontent.com" data-accesstype="offline" data-redirecturi="postmessage" data-theme="dark" data-callback="onSignInCallback" data-cookiepolicy="single_host_origin" data-width="iconOnly"> </button> 

यदि आप क्लाइंट-साइड वेब परिवेश में हैं, तो नए auth2 जावास्क्रिप्ट एपीआई में एक बहुत आवश्यक getBasicProfile() फ़ंक्शन है, जो उपयोगकर्ता का नाम, ईमेल और छवि यूआरएल देता है।

https://developers.google.com/identity/sign-in/web/reference#googleusergetbasicprofile