'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 ऑब्जेक्ट. ऐसा प्रॉमिस पाने के लिए, then() तरीके का इस्तेमाल करें जब gapi.auth2.GoogleAuth ऑब्जेक्ट के शुरू होने के बाद इस तरीके का इस्तेमाल किया जाता है.

GoogleAuth.then(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 Developers Console में मिला और बनाया गया था.
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 दावे का इस्तेमाल करके, पुष्टि करें कि डोमेन आपकी उम्मीद के मुताबिक है.
ux_mode string साइन इन फ़्लो के लिए इस्तेमाल करने के लिए UX मोड. डिफ़ॉल्ट रूप से, यह सहमति फ़्लो को पॉप-अप में खोलेगा. मान्य वैल्यू popup और redirect हैं.
redirect_uri string ux_mode='redirect' का इस्तेमाल करने पर, इस पैरामीटर की मदद से डिफ़ॉल्ट redirect_uri को बदला जा सकता है. इसका इस्तेमाल सहमति की प्रोसेस के आखिर में किया जाएगा. डिफ़ॉल्ट redirect_uri, वह मौजूदा यूआरएल है जिसे क्वेरी पैरामीटर और हैश फ़्रैगमेंट से हटाया गया है.
plugin_name string ज़रूरी नहीं. अगर यह वैल्यू सेट की जाती है, तो 29 जुलाई, 2022 से पहले बनाए गए नए Client-ID में, Google Platform की पुरानी लाइब्रेरी का इस्तेमाल किया जा सकता है. डिफ़ॉल्ट रूप से, नए बनाए गए Client-ID को अब प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल करने से रोक दिया जाता है. इसके बजाय, उन्हें 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.grantOfflineAccess(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()

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

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

GoogleUser.isSignedIn()

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

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

GoogleUser.getHostedDomain()

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

रिटर्न
स्ट्रिंग उपयोगकर्ता का G Suite डोमेन

GoogleUser.getGrantedScopes()

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

रिटर्न
स्ट्रिंग उपयोगकर्ता के दिए गए दायरे

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 दिखाता है.

रिटर्न
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).
बड़ा टाइटल लंबे लेबल जैसे कि "साइन इन करें" के बजाय "Google से साइन इन करें" (डिफ़ॉल्ट: false) दिखाएं. लंबे शीर्षक इस्तेमाल करते समय, आपको बटन की चौड़ाई को डिफ़ॉल्ट से बढ़ाना चाहिए.
थीम बटन की रंग की थीम: light या dark (डिफ़ॉल्ट: light).
कामयाब उपयोगकर्ता के साइन इन करने पर, कॉल करने के लिए कॉलबैक फ़ंक्शन. इस फ़ंक्शन को एक तर्क लेना चाहिए: gapi.auth2.GoogleUser का एक इंस्टेंस (डिफ़ॉल्ट: कोई नहीं).
onfailure साइन इन न हो पाने पर, कॉल करने के लिए कॉलबैक फ़ंक्शन. इस फ़ंक्शन में कोई भी आर्ग्युमेंट नहीं होता है. डिफ़ॉल्ट तौर पर, कोई भी आर्ग्युमेंट नहीं दिया जाता.

ज़रूरत के हिसाब से तय की गई तारीख की सीमा

gapi.auth2.author(params, callback)

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

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

  • आपके ऐप्लिकेशन को Google API एंडपॉइंट के लिए सिर्फ़ एक बार अनुरोध करना होगा. उदाहरण के लिए, उपयोगकर्ता के पहली बार साइन इन करने पर उसके पसंदीदा YouTube वीडियो को लोड करने के लिए.
  • आपके ऐप्लिकेशन का अपना सेशन मैनेजमेंट इन्फ़्रास्ट्रक्चर होता है और आपके बैकएंड में उपयोगकर्ता की पहचान करने के लिए, इसे सिर्फ़ एक बार आईडी टोकन की ज़रूरत होती है.
  • एक ही पेज पर कई Client ID का इस्तेमाल किया जाता है.
तर्क
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 Developers Console में मिला और बनाया गया था.
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 होती है.
plugin_name string ज़रूरी नहीं. अगर क्लाइंट आईडी 29 जुलाई, 2022 से पहले बनाए गए हैं, तो वे Google प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल कर सकते हैं. डिफ़ॉल्ट रूप से, नए बनाए गए Client-ID को प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल करने से रोका जाता है. इसके बजाय, उन्हें Google Identity Services की नई लाइब्रेरी का इस्तेमाल करना चाहिए. कोई भी वैल्यू चुनी जा सकती है. आसानी से पहचान करने के लिए, प्रॉडक्ट या प्लगिन के नाम जैसे जानकारी देने वाले नाम का सुझाव दिया जाता है. उदाहरण: plugin_name: 'YOUR_STRING_HERE'

gapi.auth2.AuthorizeResponse

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

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