'Google साइन-इन' JavaScript क्लाइंट रेफ़रंस

इस रेफ़रंस में, JavaScript क्लाइंट के उन तरीकों और एट्रिब्यूट के बारे में बताया गया है जिनका इस्तेमाल अपने वेब ऐप्लिकेशन में 'Google साइन इन' को लागू करने के लिए किया जाएगा.

अगर आपको लाइब्रेरी का इस्तेमाल करने में कोई समस्या आती है, तो उसकी रिपोर्ट हमारे GitHub रिपॉज़िटरी में करें.

पुष्टि करने के लिए सेटअप

gapi ऑब्जेक्ट बनाने के लिए, Google API प्लैटफ़ॉर्म लाइब्रेरी लोड करें:

<script src="https://apis.google.com/js/platform.js?onload=init" async defer></script>

प्लैटफ़ॉर्म लाइब्रेरी लोड होने के बाद, auth2 लाइब्रेरी लोड करें:

function init() {
  gapi.load('auth2', function() {
    /* Ready. Make a call to gapi.auth2.init or some other API */
  });
}

gapi.auth2.init(params)

GoogleAuth ऑब्जेक्ट को शुरू करता है. gapi.auth2.GoogleAuth के तरीकों को कॉल करने से पहले, आपको इस तरीके को कॉल करना होगा.

GoogleAuth ऑब्जेक्ट को शुरू करने के दौरान, आपको अपने OAuth 2.0 क्लाइंट आईडी के साथ-साथ, अपने हिसाब से तय किए जाने वाले अतिरिक्त विकल्पों के साथ ऑब्जेक्ट को कॉन्फ़िगर करना होता है. इसके बाद, अगर उपयोगकर्ता ने पहले से साइन इन किया हुआ है, तो GoogleAuth ऑब्जेक्ट पिछले सेशन से, उपयोगकर्ता की साइन इन स्थिति को पहले जैसा करता है.

तर्क
params एक ऑब्जेक्ट, जिसमें क्लाइंट कॉन्फ़िगरेशन डेटा के की-वैल्यू पेयर शामिल हैं. कॉन्फ़िगर की जा सकने वाली अलग-अलग प्रॉपर्टी के लिए gapi.auth2.ClientConfig देखें. उदाहरण के लिए:
{
  client_id: 'CLIENT_ID.apps.googleusercontent.com'
}
सामान लौटाना
gapi.auth2.GoogleAuth gapi.auth2.GoogleAuth ऑब्जेक्ट. प्रॉमिस पाने के लिए, THE() तरीके का इस्तेमाल करें. यह प्रॉमिस तब रिज़ॉल्व होगा, जब gapi.auth2.GoogleAuth ऑब्जेक्ट के शुरू होने के बाद रिज़ॉल्व हो जाएगा.

GoogleAuth.फिर(onInit, onError)

GoogleAuth ऑब्जेक्ट के पूरी तरह शुरू होने पर, onInit फ़ंक्शन को कॉल करता है. अगर शुरू करते समय कोई गड़बड़ी होती है (ऐसा, काम न करने वाले पुराने ब्राउज़र में हो सकता है), तो onError फ़ंक्शन को कॉल किया जाएगा.

तर्क
onInit पूरी तरह से शुरू होने पर, फ़ंक्शन को GoogleAuth ऑब्जेक्ट के साथ कॉल किया जाता है.
onError अगर GoogleAuth शुरू नहीं हो सका, तो error प्रॉपर्टी वाले ऑब्जेक्ट के साथ कॉल किया गया फ़ंक्शन.
सामान लौटाना
प्रॉमिस Promise, जो onInit फ़ंक्शन के पूरा हो जाने पर पूरा होता है या शुरू करने की गड़बड़ी मिलने पर अस्वीकार कर दिया जाता है. अगर कोई वैल्यू मिलती है, तो यह onInit फ़ंक्शन से मिली वैल्यू के साथ रिज़ॉल्व होती है.

गड़बड़ी कोड

idpiframe_initialization_failed
Google से ज़रूरी iframe शुरू नहीं किया जा सका. उदाहरण के लिए, ऐसा एनवायरमेंट होने की वजह से शुरू नहीं हो सका जो काम नहीं करता. details प्रॉपर्टी से, गड़बड़ी के बारे में ज़्यादा जानकारी मिलेगी.

gapi.auth2.ClientConfig

ऐसा इंटरफ़ेस जो gapi.auth2.init तरीके के लिए, अलग-अलग कॉन्फ़िगरेशन पैरामीटर दिखाता है.

पैरामीटर
client_id string ज़रूरी है. ऐप्लिकेशन का क्लाइंट आईडी, जो Google API कंसोल में मिला और बनाया गया.
cookie_policy string वे डोमेन जिनके लिए साइन-इन कुकी बनानी है. यूआरआई, single_host_origin या none. अगर जानकारी नहीं दी गई है, तो डिफ़ॉल्ट तौर पर single_host_origin होता है.
scope string अनुरोध किए जाने वाले स्कोप, स्पेस-डीलिमिटेड स्ट्रिंग के तौर पर. अगर fetch_basic_profile को 'गलत है' पर सेट नहीं किया गया है, तो ज़रूरी नहीं है.
fetch_basic_profile boolean उपयोगकर्ताओं के साइन इन करने पर उनकी प्रोफ़ाइल की बुनियादी जानकारी फ़ेच करें. अनुरोध किए गए स्कोप में 'प्रोफ़ाइल', 'ईमेल', और 'openid' जोड़ता है. सही न होने पर 'सही'.
hosted_domain string वह G Suite डोमेन जिससे उपयोगकर्ताओं को साइन इन करना ज़रूरी है. इसमें क्लाइंट के ज़रिए बदलाव किए जा सकते हैं. इसलिए, लौटाए गए उपयोगकर्ता की होस्ट की गई डोमेन प्रॉपर्टी की पुष्टि ज़रूर करें. क्लाइंट पर GoogleUser.getHostedDomain() इस्तेमाल करें और सर्वर के आईडी टोकन में hd दावे का इस्तेमाल करके पुष्टि करें कि डोमेन वही है जिसकी आपको उम्मीद थी.
use_fedcm boolean ज़रूरी नहीं है. यह डिफ़ॉल्ट रूप से True पर सेट होती है. साइन-इन करने के दौरान, ब्राउज़र FedCM API के इस्तेमाल को चालू या बंद करें.
ux_mode string साइन-इन फ़्लो के लिए इस्तेमाल करने के लिए UX मोड. डिफ़ॉल्ट रूप से, यह सहमति फ़्लो को पॉप-अप में खोलेगा. मान्य वैल्यू, popup और redirect हैं.
redirect_uri string इस पैरामीटर की मदद से, ux_mode='redirect' का इस्तेमाल करने पर, डिफ़ॉल्ट redirect_uri को बदला जा सकता है. इसका इस्तेमाल सहमति फ़्लो के आखिर में किया जाएगा. डिफ़ॉल्ट redirect_uri वह मौजूदा यूआरएल है जिसमें क्वेरी पैरामीटर और हैश फ़्रैगमेंट मौजूद नहीं होता है.
enable_granular_consent boolean ज़रूरी नहीं. पूरी अनुमतियां चालू करनी हैं या नहीं. अगर यह नीति false पर सेट की जाती है, तो साल 2019 से पहले बनाए गए OAuth क्लाइंट आईडी के लिए, Google खाते की ज़्यादा जानकारी वाली अनुमतियां बंद हो जाएंगी. साल 2019 के दौरान या उसके बाद बनाए गए OAuth क्लाइंट आईडी पर कोई असर नहीं पड़ेगा. इसकी वजह यह है कि उनके लिए ज़्यादा जानकारी वाली अनुमतियां हमेशा चालू रहती हैं.
plugin_name string ज़रूरी नहीं. अगर यह वैल्यू सेट की जाती है, तो 29 जुलाई, 2022 से पहले बनाए गए नए क्लाइंट आईडी, Google प्लैटफ़ॉर्म की पुरानी लाइब्रेरी का इस्तेमाल कर सकते हैं. डिफ़ॉल्ट रूप से, बनाए गए नए क्लाइंट आईडी को अब प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल करने से रोक दिया जाता है. इसके बजाय, उन्हें Google Identity Services की नई लाइब्रेरी का इस्तेमाल करना होगा. पहचान के लिए, कोई भी वैल्यू चुनी जा सकती है. प्रॉडक्ट या प्लगिन के नाम जैसी जानकारी देने वाला नाम चुनें. उदाहरण: plugin_name: 'YOUR_STRING_HERE'

पुष्टि करना

GoogleAuth एक सिंगलटन क्लास है. इसकी मदद से, उपयोगकर्ता को Google खाते से साइन इन करने, उसकी साइन-इन की मौजूदा स्थिति का पता लगाने, उसकी Google प्रोफ़ाइल से कोई खास डेटा पाने, अतिरिक्त दायरों के लिए अनुरोध करने, और मौजूदा खाते से साइन आउट करने के तरीके मिलते हैं.

gapi.auth2.getAuthInstance()

GoogleAuth ऑब्जेक्ट दिखाता है. इस तरीके को कॉल करने से पहले, आपको GoogleAuth ऑब्जेक्ट को gapi.auth2.init() से शुरू करना होगा.

सामान लौटाना
gapi.auth2.GoogleAuth gapi.auth2.GoogleAuth ऑब्जेक्ट. gapi.auth2.GoogleAuth के तरीकों को कॉल करने के लिए, इस ऑब्जेक्ट का इस्तेमाल करें.

GoogleAuth.isSignedIn.get()

यह बताता है कि मौजूदा उपयोगकर्ता ने साइन इन किया है या नहीं.

सामान लौटाना
बूलियन अगर उपयोगकर्ता ने साइन इन किया हुआ है, तो true या अगर उपयोगकर्ता ने साइन आउट कर दिया है या GoogleAuth ऑब्जेक्ट शुरू नहीं हुआ है, तो false.

GoogleAuth.isSignedIn.listen(listener)

मौजूदा उपयोगकर्ता की साइन-इन स्थिति में हुए बदलावों को सुनें.

तर्क
listener ऐसा फ़ंक्शन जो बूलियन वैल्यू लेता है. उपयोगकर्ता के साइन इन करने पर, listen() इस फ़ंक्शन में true पास करता है. साथ ही, साइन आउट करने पर false पास करता है.

GoogleAuth.signIn()

gapi.auth2.init() के लिए तय विकल्पों के साथ उपयोगकर्ता को साइन इन करता है.

सामान लौटाना
प्रॉमिस एक Promise, जो GoogleUser इंस्टेंस के साथ पूरा किया जाता है, जब उपयोगकर्ता अनुरोध किए गए दायरों की पुष्टि करके उन्हें अनुमति देता है. इसके अलावा, अगर कोई गड़बड़ी होती है, तो error प्रॉपर्टी वाले किसी ऑब्जेक्ट को अस्वीकार कर दिया जाता है. गड़बड़ी कोड के लिए अगला सेक्शन देखें.

गड़बड़ी कोड

GoogleAuth.signIn(options) देखें.

GoogleAuth.signIn(options)

तय विकल्पों का इस्तेमाल करके उपयोगकर्ता साइन इन करता है.

तर्क
options ऐसा करने के लिए, इनमें से कोई एक काम करें:
  • एक gapi.auth2.SignInOptions ऑब्जेक्ट, जिसमें साइन-इन पैरामीटर के की-वैल्यू पेयर शामिल हैं. उदाहरण के लिए:
    {
      scope: 'profile email'
    }
  • gapi.auth2.SigninOptionsBuilder का एक इंस्टेंस. उदाहरण के लिए:
    options = new gapi.auth2.SigninOptionsBuilder();
    options.setAppPackageName('com.example.app');
    options.setFetchBasicProfile(True);
    options.setPrompt('select_account');
    options.setScope('profile').setScope('email');
सामान लौटाना
प्रॉमिस एक Promise, जो GoogleUser इंस्टेंस के साथ पूरा किया जाता है, जब उपयोगकर्ता अनुरोध किए गए दायरों की पुष्टि करके उन्हें अनुमति देता है. इसके अलावा, गड़बड़ी होने पर, error प्रॉपर्टी वाले किसी ऑब्जेक्ट के साथ इसे अस्वीकार कर दिया जाता है (गड़बड़ी कोड नीचे देखें).

गड़बड़ी कोड

popup_closed_by_user
उपयोगकर्ता ने साइन इन की प्रोसेस पूरी करने से पहले, पॉप-अप बंद कर दिया.
access_denied
उपयोगकर्ता ने ज़रूरी दायरों के लिए अनुमति नहीं दी है.
immediate_failed
सहमति फ़्लो के बिना, किसी भी उपयोगकर्ता को अपने-आप नहीं चुना जा सकता. prompt: 'none' विकल्प के साथ signIn का इस्तेमाल करते समय गड़बड़ी हुई. इस विकल्प का इस्तेमाल करना ज़रूरी नहीं है, क्योंकि अगर उपयोगकर्ता ने पिछले सेशन में पहले साइन इन किया था, तो gapi.auth2.init उसे अपने-आप साइन इन कर लेगा.

gapi.auth2.SignInOptions

ऐसा इंटरफ़ेस जो GoogleAuth.signIn(options) तरीके के लिए, अलग-अलग कॉन्फ़िगरेशन पैरामीटर दिखाता है.

पैरामीटर
prompt string सहमति फ़्लो के लिए, एक खास मोड को लागू करता है. ज़रूरी नहीं.
संभावित वैल्यू ये हैं:
  • consent
    ऐप्लिकेशन को जानकारी देने से पहले, अनुमति देने वाला सर्वर, उपयोगकर्ता से सहमति लेने के लिए कहता है.
  • select_account
    ऑथराइज़ेशन सर्वर, उपयोगकर्ता से Google खाता चुनने के लिए कहता है. इसकी मदद से, जिस उपयोगकर्ता के पास कई खाते हैं उसे ऐसे कई खातों में से चुनने की अनुमति मिलती है जिनके लिए उसके मौजूदा सेशन हो सकते हैं.
  • none (इसका सुझाव नहीं दिया जाता)
    ऑथराइज़ेशन सर्वर, पुष्टि करने या उपयोगकर्ता की सहमति वाली कोई स्क्रीन नहीं दिखाएगा. अगर उपयोगकर्ता की पुष्टि नहीं हुई है और उसने पहले, अनुरोध किए गए दायरों के लिए सहमति नहीं दी है, तो यह गड़बड़ी दिखाएगा.
    अगर gapi.auth2.init ने पहले से साइन इन किया हुआ है, तो उपयोगकर्ता को ऐप्लिकेशन में अपने-आप साइन इन कर दिया जाएगा. इसलिए, आम तौर पर signIn({prompt: 'none'}) को कॉल नहीं किया जा सकेगा.
scope string gapi.auth2.init पैरामीटर में बताए गए स्कोप के ऊपर, अनुरोध किए जाने वाले स्कोप, स्पेस से अलग की गई स्ट्रिंग के तौर पर शामिल किए जाते हैं. अगर fetch_basic_profile, 'गलत है' पर सेट नहीं है, तो ज़रूरी नहीं है.
ux_mode string साइन-इन फ़्लो के लिए इस्तेमाल करने के लिए UX मोड. डिफ़ॉल्ट रूप से, यह सहमति फ़्लो को पॉप-अप में खोलेगा. मान्य वैल्यू, popup और redirect हैं.
redirect_uri string इस पैरामीटर की मदद से, ux_mode='redirect' का इस्तेमाल करने पर, डिफ़ॉल्ट redirect_uri को बदला जा सकता है. इसका इस्तेमाल सहमति फ़्लो के आखिर में किया जाएगा. डिफ़ॉल्ट redirect_uri, मौजूदा यूआरएल है, जिसमें क्वेरी पैरामीटर और हैश फ़्रैगमेंट मौजूद नहीं है.

GoogleAuth.signOut()

ऐप्लिकेशन से वर्तमान खाते को साइन आउट करता है.

सामान लौटाना
प्रॉमिस उपयोगकर्ता के साइन आउट होने के बाद, पूरा होने वाला Promise.

GoogleAuth.disconnect()

उपयोगकर्ता की ओर से दिए गए सभी दायरों को रद्द करता है.

GoogleAuth.grant ऑफ़लाइनAccess(options)

तय किए गए दायरों को ऑफ़लाइन ऐक्सेस करने के लिए, उपयोगकर्ता से अनुमति लें.

तर्क
options एक gapi.auth2.OfflineAccessOptions ऑब्जेक्ट, जिसमें पैरामीटर के की-वैल्यू पेयर होते हैं. उदाहरण के लिए:
{
  scope: 'profile email'
}
सामान लौटाना
प्रॉमिस Promise, जो तब पूरा होता है, जब उपयोगकर्ता अनुरोध किए गए दायरों को अनुमति देता है. साथ ही, यह Promise के फ़ुलफ़िलमेंट हैंडलर को ऑथराइज़ेशन कोड वाले ऑब्जेक्ट को पास करता है. उदाहरण के लिए:
auth2.grantOfflineAccess().then(function(resp) {
  var auth_code = resp.code;
});

गड़बड़ी कोड

popup_closed_by_user
सहमति वाला फ़्लो पूरा होने से पहले, उपयोगकर्ता ने पॉप-अप बंद कर दिया.
access_denied
उपयोगकर्ता ने ज़रूरी दायरों के लिए अनुमति नहीं दी है.
immediate_failed
सहमति फ़्लो के बिना, किसी भी उपयोगकर्ता को अपने-आप नहीं चुना जा सकता. prompt: 'none' विकल्प के साथ signIn का इस्तेमाल करते समय गड़बड़ी हुई. इस विकल्प का इस्तेमाल करना ज़रूरी नहीं है, क्योंकि अगर उपयोगकर्ता ने पिछले सेशन में पहले साइन इन किया था, तो gapi.auth2.init उसे अपने-आप साइन इन कर लेगा.

gapi.auth2.OfflineAccessOptions

ऐसा इंटरफ़ेस जो GoogleAuth.grantOfflineAccess(options) तरीके के लिए, अलग-अलग कॉन्फ़िगरेशन पैरामीटर दिखाता है.

पैरामीटर
prompt string सहमति फ़्लो के लिए, एक खास मोड को लागू करता है. ज़रूरी नहीं.
संभावित वैल्यू ये हैं:
  • consent
    ऐप्लिकेशन को जानकारी देने से पहले, अनुमति देने वाला सर्वर, उपयोगकर्ता से सहमति लेने के लिए कहता है.
  • select_account
    ऑथराइज़ेशन सर्वर, उपयोगकर्ता को Google खाता चुनने के लिए कहता है. इसकी मदद से, जिस उपयोगकर्ता के पास कई खाते हैं उसे ऐसे कई खातों में से चुनने की अनुमति मिलती है जिनके लिए उसके मौजूदा सेशन हो सकते हैं.
scope string gapi.auth2.init पैरामीटर में बताए गए स्कोप के ऊपर, अनुरोध किए जाने वाले स्कोप, स्पेस से अलग की गई स्ट्रिंग के तौर पर शामिल किए जाते हैं. अगर fetch_basic_profile, 'गलत है' पर सेट नहीं है, तो ज़रूरी नहीं है.

GoogleAuth.attachClickHandler(container, options, onsuccess, onfailure)

बताए गए कंटेनर के क्लिक हैंडलर में, साइन इन फ़्लो को जोड़ता है.

तर्क
container div एलिमेंट का आईडी या उसका रेफ़रंस, जिसमें क्लिक हैंडलर को अटैच करना है.
options एक ऑब्जेक्ट, जिसमें पैरामीटर के की-वैल्यू पेयर शामिल हैं. GoogleAuth.signIn() देखें.
onsuccess साइन-इन पूरा होने के बाद कॉल करने का फ़ंक्शन.
onfailure साइन-इन न हो पाने पर, कॉल करने की सुविधा.

उपयोगकर्ता

GoogleUser ऑब्जेक्ट, एक उपयोगकर्ता खाते को दिखाता है. GoogleUser ऑब्जेक्ट, आम तौर पर GoogleAuth.currentUser.get() को कॉल करके हासिल किए जाते हैं.

GoogleAuth.currentUser.get()

यह विकल्प, मौजूदा उपयोगकर्ता के बारे में जानकारी देने वाला GoogleUser ऑब्जेक्ट दिखाता है. ध्यान दें कि शुरू किए गए नए GoogleAuth इंस्टेंस में, मौजूदा उपयोगकर्ता सेट नहीं किया गया है. शुरू किया गया GoogleAuth इंस्टेंस पाने के लिए, currentUser.listen() तरीके या GoogleAuth.then() का इस्तेमाल करें.

सामान लौटाना
GoogleUser मौजूदा उपयोगकर्ता

GoogleAuth.currentUser.listen(listener)

मौजूदा उपयोगकर्ता के बदलावों को सुनें.

तर्क
listener GoogleUser पैरामीटर लेने वाला फ़ंक्शन. currentUser में बदलाव करने वाले हर बदलाव पर, listen इस फ़ंक्शन को GoogleUser इंस्टेंस पास करता है.

GoogleUser.getId()

उपयोगकर्ता के यूनीक आईडी वाली स्ट्रिंग पाएं.

सामान लौटाना
String उपयोगकर्ता का यूनीक आईडी

GoogleUser.isSignedIn()

अगर उपयोगकर्ता साइन इन है, तो 'सही' दिखाता है.

सामान लौटाना
बूलियन अगर उपयोगकर्ता ने साइन इन किया है, तो सही

GoogleUser.getHostedDomain()

अगर उपयोगकर्ता ने G Suite खाते से साइन इन किया है, तो उसका G Suite डोमेन पाएं.

सामान लौटाना
String उपयोगकर्ता का G Suite डोमेन

GoogleUser.getGrantedScopes()

वे दायरे पाएं जो उपयोगकर्ता ने, स्पेस-डीलिमिटेड स्ट्रिंग के तौर पर दिए हैं.

सामान लौटाना
String उपयोगकर्ता ने इन दायरों की जानकारी दी है

GoogleUser.getBasicProfile()

उपयोगकर्ता की प्रोफ़ाइल की बुनियादी जानकारी पाना.

सामान लौटाना
gapi.auth2.BasicProfile gapi.auth2.BasicProfile की प्रॉपर्टी को इन तरीकों से वापस लाया जा सकता है:
  • BasicProfile.getId()
  • BasicProfile.getName()
  • BasicProfile.getGivenName()
  • BasicProfile.getFamilyName()
  • BasicProfile.getImageUrl()
  • BasicProfile.getEmail()

GoogleUser.getAuthResponse(includeAuthorizationData)

उपयोगकर्ता के पुष्टि करने वाले सेशन से रिस्पॉन्स ऑब्जेक्ट पाएं.

तर्क
includeAuthorizationData ज़रूरी नहीं: एक बूलियन, जो यह बताता है कि ऐक्सेस टोकन और स्कोप हमेशा दिखाना है या नहीं. जब fetch_basic_profile (डिफ़ॉल्ट वैल्यू) सही होती है और किसी अतिरिक्त दायरे का अनुरोध नहीं किया जाता है, तो डिफ़ॉल्ट रूप से ऐक्सेस टोकन और अनुरोध किए गए दायरे नहीं दिखते.
सामान लौटाना
gapi.auth2.AuthResponse gapi.auth2.AuthResponse ऑब्जेक्ट.

GoogleUser.reloadAuthResponse()

ऐक्सेस टोकन को रीफ़्रेश करता है और फिर नए AuthResponse के लिए प्रॉमिस दिखाता है.

सामान लौटाना
Promise OAuth टोकन को फिर से लोड करते समय, फिर से लोड किए गए gapi.auth2.AuthResponse के साथ पूरा होने वाला Promise.

gapi.auth2.AuthResponse

GoogleUser.getAuthResponse(includeAuthorizationData) या GoogleUser.reloadAuthResponse() तरीकों को कॉल करने पर जवाब मिला.

प्रॉपर्टी
access_token string ऐक्सेस टोकन दिया गया.
id_token string आईडी टोकन दिया गया.
scope string ऐक्सेस टोकन में दिए गए दायरे.
expires_in number ऐक्सेस टोकन की समयसीमा खत्म होने में लगने वाले सेकंड.
first_issued_at number वह टाइमस्टैंप जब उपयोगकर्ता ने पहली बार अनुरोध किए गए दायरे स्वीकार किए थे.
expires_at number ऐक्सेस टोकन की समयसीमा खत्म होने का टाइमस्टैंप.

GoogleUser.hasgrantedScopes(scopes)

अगर उपयोगकर्ता, तय किए गए दायरों को अनुमति देता है, तो 'सही' दिखाता है.

तर्क
scopes स्कोप की स्पेस-डीलिमिटेड स्ट्रिंग.
सामान लौटाना
बूलियन दायरे की अनुमति देने पर वैल्यू 'सही' होगी

GoogleUser.grant(options)

उपयोगकर्ता से अतिरिक्त दायरों का अनुरोध करें.

पैरामीटर की सूची और गड़बड़ी कोड के लिए, GoogleAuth.signIn() देखें.

GoogleUser.grant ऑफ़लाइनAccess(options)

तय किए गए दायरों को ऑफ़लाइन ऐक्सेस करने के लिए, उपयोगकर्ता से अनुमति लें.

तर्क
options एक gapi.auth2.OfflineAccessOptions ऑब्जेक्ट, जिसमें पैरामीटर के की-वैल्यू पेयर होते हैं. उदाहरण के लिए:
{
  scope: 'profile email'
}

GoogleUser.disconnect()

उपयोगकर्ता की ओर से ऐप्लिकेशन को दिए गए सभी दायरों को रद्द करता है.

यूज़र इंटरफ़ेस (यूआई) एलिमेंट

gapi.signin2.render(id, options)

options ऑब्जेक्ट की बताई गई सेटिंग का इस्तेमाल करके, दिए गए आईडी वाले एलिमेंट में 'साइन-इन' बटन रेंडर करता है.

तर्क
id उस एलिमेंट का आईडी जिसमें साइन-इन बटन को रेंडर करना है.
options एक ऑब्जेक्ट, जिसमें बटन को रेंडर करने के लिए इस्तेमाल की जाने वाली सेटिंग हैं. उदाहरण के लिए:
{
  scope: 'email',
  width: 200,
  height: 50,
  longtitle: true,
  theme: 'dark',
  onsuccess: handleSuccess,
  onfailure: handleFailure
}
इन विकल्पों के बारे में बताया जा सकता है:
पैरामीटर
दायरा उपयोगकर्ता के साइन इन करने पर, अनुरोध करने के दायरे (डिफ़ॉल्ट: profile).
चौड़ाई बटन की चौड़ाई पिक्सल में (डिफ़ॉल्ट: 120).
ऊंचाई बटन की ऊंचाई पिक्सल में (डिफ़ॉल्ट: 36).
बड़ा टाइटल "साइन इन करें" (डिफ़ॉल्ट: false) के बजाय, "Google से साइन इन करें" जैसे लंबे लेबल दिखाएं. लंबे टाइटल इस्तेमाल करते समय, आपको बटन की डिफ़ॉल्ट सुविधा से चौड़ाई बढ़ानी चाहिए.
थीम बटन की रंग वाली थीम: light या dark (डिफ़ॉल्ट: light).
ऑनसक्स उपयोगकर्ता के साइन इन करने पर कॉल करने के लिए कॉलबैक फ़ंक्शन. इस फ़ंक्शन को एक आर्ग्युमेंट इस्तेमाल करना चाहिए: gapi.auth2.GoogleUser का एक इंस्टेंस (डिफ़ॉल्ट: कोई नहीं).
Onfailure साइन इन न हो पाने पर, कॉल करने के लिए कॉलबैक फ़ंक्शन. यह फ़ंक्शन कोई तर्क नहीं लेता (डिफ़ॉल्ट: कोई नहीं).

ऐडवांस फ़िल्टर

gapi.auth2.Authorize(params, callback)

एक बार के OAuth 2.0 प्राधिकरण का इस्तेमाल करता है. इस्तेमाल किए गए पैरामीटर के आधार पर, इससे Google साइन इन फ़्लो में एक पॉप-अप खुलेगा या उपयोगकर्ता के इंटरैक्शन के बिना, अनुरोध किए गए जवाब को बिना आवाज़ के लोड करने की कोशिश की जाएगी.

इस तरीके का इस्तेमाल करने के कुछ उदाहरण यहां दिए गए हैं:

  • आपके ऐप्लिकेशन को Google API एंडपॉइंट से सिर्फ़ एक बार अनुरोध करना होगा. उदाहरण के लिए, पहली बार साइन इन करने पर उपयोगकर्ता के पसंदीदा YouTube वीडियो को लोड करने के लिए.
  • आपके ऐप्लिकेशन का अपना सेशन मैनेजमेंट इन्फ़्रास्ट्रक्चर होता है. इसे आपके बैकएंड में उपयोगकर्ता की पहचान करने के लिए, सिर्फ़ एक बार आईडी टोकन की ज़रूरत होती है.
  • एक ही पेज में कई क्लाइंट आईडी का इस्तेमाल किया गया है.
तर्क
params एक ऑब्जेक्ट, जिसमें कॉन्फ़िगरेशन डेटा के की-वैल्यू पेयर शामिल हैं. कॉन्फ़िगर की जा सकने वाली अलग-अलग प्रॉपर्टी के लिए gapi.auth2.AuthorizeConfig देखें. उदाहरण के लिए:
{
  client_id: 'CLIENT_ID.apps.googleusercontent.com',
  scope: 'email profile openid',
  response_type: 'id_token permission'
}
callback अनुरोध पूरा होने के बाद, gapi.auth2.AuthorizeResponse ऑब्जेक्ट के साथ कॉल किया जाने वाला फ़ंक्शन (या तो पूरा नहीं हुआ या पूरा नहीं हुआ).

उदाहरण

gapi.auth2.authorize({
  client_id: 'CLIENT_ID.apps.googleusercontent.com',
  scope: 'email profile openid',
  response_type: 'id_token permission'
}, function(response) {
  if (response.error) {
    // An error happened!
    return;
  }
  // The user authorized the application for the scopes requested.
  var accessToken = response.access_token;
  var idToken = response.id_token;
  // You can also now use gapi.client to perform authenticated requests.
});

गड़बड़ी कोड

idpiframe_initialization_failed
उदाहरण के लिए, काम न करने वाले एनवायरमेंट की वजह से, Google का ज़रूरी iframe शुरू नहीं किया जा सका. details प्रॉपर्टी से, गड़बड़ी के बारे में ज़्यादा जानकारी मिलेगी.
popup_closed_by_user
उपयोगकर्ता ने साइन इन की प्रोसेस पूरी करने से पहले, पॉप-अप बंद कर दिया.
access_denied
उपयोगकर्ता ने ज़रूरी दायरों के लिए अनुमति नहीं दी है.
immediate_failed
सहमति फ़्लो के बिना, किसी भी उपयोगकर्ता को अपने-आप नहीं चुना जा सकता. prompt: 'none' विकल्प के साथ signIn का इस्तेमाल करते समय गड़बड़ी हुई.

gapi.auth2.AuthorizeConfig

ऐसा इंटरफ़ेस जो gapi.auth2.authorize तरीके के लिए, अलग-अलग कॉन्फ़िगरेशन पैरामीटर दिखाता है.

प्रॉपर्टी
client_id string ज़रूरी है. ऐप्लिकेशन का क्लाइंट आईडी, जो Google API कंसोल में मिला और बनाया गया.
scope string ज़रूरी है. अनुरोध किए जाने वाले स्कोप, स्पेस-डीलिमिटेड स्ट्रिंग के तौर पर.
response_type string रिस्पॉन्स के टाइप के तौर पर खाली जगह की सूची. डिफ़ॉल्ट तौर पर, यह 'permission' पर सेट होती है. इसके लिए ये वैल्यू हो सकती हैं:
  • आईडी टोकन फिर से पाने के लिए, id_token
  • कोई ऐक्सेस टोकन फिर से पाने के लिए, permission या token
  • किसी ऑथराइज़ेशन कोड को फिर से पाने के लिए, code
prompt string सहमति फ़्लो के लिए, एक खास मोड को लागू करता है. इसके लिए ये वैल्यू हो सकती हैं:
  • consent
    ऐप्लिकेशन को जानकारी देने से पहले, अनुमति देने वाला सर्वर, उपयोगकर्ता से सहमति लेने के लिए कहता है.
  • select_account
    ऑथराइज़ेशन सर्वर, उपयोगकर्ता से Google खाता चुनने के लिए कहता है. इसकी मदद से, जिस उपयोगकर्ता के पास कई खाते हैं उसे ऐसे कई खातों में से चुनने की अनुमति मिलती है जिनके लिए उसके मौजूदा सेशन हो सकते हैं.
  • none
    ऑथराइज़ेशन सर्वर, पुष्टि करने या उपयोगकर्ता की सहमति वाली कोई स्क्रीन नहीं दिखाएगा. अगर उपयोगकर्ता की पहले से पुष्टि नहीं हुई है और उसने पहले, अनुरोध किए गए दायरों के लिए सहमति नहीं दी है, तो यह गड़बड़ी दिखाएगा.
    अगर code का अनुरोध रिस्पॉन्स टाइप के तौर पर किया गया है, तो लौटाए गए कोड को सिर्फ़ access_token के लिए बदला जा सकता है, refresh_token के लिए नहीं.
cookie_policy string वे डोमेन जिनके लिए साइन-इन कुकी बनानी है. यूआरआई, single_host_origin या none. अगर जानकारी नहीं दी गई है, तो डिफ़ॉल्ट तौर पर single_host_origin होता है.
hosted_domain string वह G Suite डोमेन जिससे उपयोगकर्ताओं को साइन इन करना ज़रूरी है. इसमें क्लाइंट के ज़रिए बदलाव किए जा सकते हैं. इसलिए, लौटाए गए उपयोगकर्ता की होस्ट की गई डोमेन प्रॉपर्टी की पुष्टि ज़रूर करें.
login_hint string साइन-इन फ़्लो में पहले से चुनने के लिए, उपयोगकर्ता का ईमेल या यूज़र आईडी. अगर prompt: "none" का इस्तेमाल नहीं किया जाता है, तो उपयोगकर्ता बदलाव कर सकते हैं.
include_granted_scopes boolean किसी ऐसे ऐक्सेस टोकन का अनुरोध किया जाए जिसमें वे सभी दायरे शामिल हों जो उपयोगकर्ता ने पहले ऐप्लिकेशन को दिए थे या सिर्फ़ वे दायरे शामिल हैं जिनका अनुरोध मौजूदा कॉल में किया गया है. डिफ़ॉल्ट तौर पर, यह true पर सेट होती है.
enable_granular_consent boolean ज़रूरी नहीं. पूरी अनुमतियां चालू करनी हैं या नहीं. अगर यह नीति false पर सेट की जाती है, तो साल 2019 से पहले बनाए गए OAuth क्लाइंट आईडी के लिए, Google खाते की ज़्यादा जानकारी वाली अनुमतियां बंद हो जाएंगी. साल 2019 के दौरान या उसके बाद बनाए गए OAuth क्लाइंट आईडी पर कोई असर नहीं पड़ेगा. इसकी वजह यह है कि उनके लिए ज़्यादा जानकारी वाली अनुमतियां हमेशा चालू रहती हैं.
plugin_name string ज़रूरी नहीं. अगर सेट हो, तो 29 जुलाई, 2022 से पहले बनाए गए क्लाइंट आईडी Google प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल कर सकते हैं. डिफ़ॉल्ट रूप से, नए क्लाइंट आईडी को प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल करने से ब्लॉक किया जाता है. इसके बजाय, उन्हें Google Identity Services की नई लाइब्रेरी का इस्तेमाल करना होगा. आपके पास प्रॉडक्ट या प्लगिन के नाम जैसी जानकारी देने वाला कोई भी वैल्यू चुनने का विकल्प है. इससे प्रॉडक्ट या प्लगिन को आसानी से पहचाना जा सकता है. उदाहरण: plugin_name: 'YOUR_STRING_HERE'

gapi.auth2.AuthorizeResponse

रिस्पॉन्स, gapi.auth2.authorize तरीके के कॉलबैक पर लौटाया गया.

प्रॉपर्टी
access_token string ऐक्सेस टोकन दिया गया. यह सिर्फ़ तब मौजूद होता है, जब response_type में permission या token के बारे में बताया गया हो.
id_token string आईडी टोकन दिया गया. यह सिर्फ़ तब मौजूद होता है, जब response_type में id_token के बारे में बताया गया हो.
code string ऑथराइज़ेशन कोड दिया गया. यह सिर्फ़ तब मौजूद होता है, जब response_type में code के बारे में बताया गया हो.
scope string ऐक्सेस टोकन में दिए गए दायरे. यह सिर्फ़ तब मौजूद होता है, जब response_type में permission या token के बारे में बताया गया हो.
expires_in number ऐक्सेस टोकन की समयसीमा खत्म होने में लगने वाले सेकंड. यह सिर्फ़ तब मौजूद होता है, जब response_type में permission या token के बारे में बताया गया हो.
first_issued_at number वह टाइमस्टैंप जब उपयोगकर्ता ने पहली बार अनुरोध किए गए दायरे स्वीकार किए थे. यह सिर्फ़ तब मौजूद होता है, जब permission या token के बारे में response_type में बताया गया हो.
expires_at number ऐक्सेस टोकन की समयसीमा खत्म होने का टाइमस्टैंप. यह सिर्फ़ तब मौजूद होता है, जब response_type में permission या token के बारे में बताया गया हो.
error string अनुरोध फ़ेल होने पर, उसमें गड़बड़ी कोड शामिल होता है.
error_subtype string अनुरोध फ़ेल होने पर, उसमें गड़बड़ी के कोड के बारे में ज़्यादा जानकारी भी शामिल हो सकती है.