हम वेब के लिए Google साइन-इन JavaScript प्लैटफ़ॉर्म लाइब्रेरी बंद कर रहे हैं. लाइब्रेरी को 31 मार्च, 2023 को बंद करने के बाद, इसे डाउनलोड नहीं किया जा सकेगा. इसके बजाय, वेब के लिए नई Google पहचान सेवाओं का इस्तेमाल करें.
डिफ़ॉल्ट रूप से, बनाए गए नए क्लाइंट आईडी को अब पुरानी प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल करने से रोक दिया गया है. मौजूदा क्लाइंट आईडी पर इसका कोई असर नहीं पड़ेगा. Google क्लाइंट लाइब्रेरी का इस्तेमाल चालू करने के लिए, 29 जुलाई, 2022 से पहले बनाए गए नए क्लाइंट आईडी, `प्लग इन_नाम` सेट कर सकते हैं.

'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 शुरू नहीं किया जा सका. उदाहरण के लिए, ऐसा 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 से पहले बनाए गए नए क्लाइंट आईडी में, Google Platform की पुरानी लाइब्रेरी का इस्तेमाल किया जा सकता है. डिफ़ॉल्ट रूप से, बनाए गए नए क्लाइंट आईडी अब 'प्लैटफ़ॉर्म लाइब्रेरी' का इस्तेमाल नहीं कर सकते. इसके बजाय, उन्हें नई Google पहचान सेवा लाइब्रेरी का इस्तेमाल करना होगा. आप कोई भी मान चुन सकते हैं, आसान पहचान के लिए प्रॉडक्ट या प्लग इन के नाम जैसा कोई ब्यौरा देने वाला नाम सुझाया जाता है. उदाहरण: 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() के लिए दिए गए विकल्पों के साथ उपयोगकर्ता में साइन इन करता है.

लौटाए गए आइटम
वादा GoogleUser इंस्टेंस के ज़रिए पूरा किया जाने वाला Promise, जब उपयोगकर्ता अनुरोध किए गए दायरों की पुष्टि करता है और उन्हें अनुमति देता है. साथ ही, कोई गड़बड़ी होने पर किसी 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');
लौटाए गए आइटम
वादा GoogleUser इंस्टेंस के ज़रिए पूरा किया जाने वाला Promise, जब उपयोगकर्ता अनुरोध किए गए दायरों की पुष्टि करता है और उन्हें अनुमति देता है. साथ ही, कोई गड़बड़ी होने पर किसी 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 इंस्टेंस में, मौजूदा उपयोगकर्ता को सेट नहीं किया गया है. अपनेcurrentUser.listen() तरीका याGoogleAuth.then() शुरू करने के लिएGoogleAuth इंस्टेंस.

लौटाए गए आइटम
GoogleUser मौजूदा उपयोगकर्ता

GoogleAuth.currentUser.listen(listener)

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

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

GoogleUser.getId()

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

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

GoogleUser.isSignedIn()

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

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

GoogleUser.getHostedDomain()

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

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

GoogleUser.getGrantedScopes()

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

लौटाए गए आइटम
स्ट्रिंग उपयोगकर्ता के दिए गए दायरे

GoogleUser.getबुनियादीप्रोफ़ाइल()

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

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

GoogleUser.getAuthResponse(includeAuthorizationData)

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

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

GoogleUser.reloadAuthResponse()

ऐक्सेस टोकन को रीफ़्रेश करने के लिए मजबूर करता है. इसके बाद, नए AuthResponse के लिए वादा करता है.

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

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.grantOfflineAccess(options)

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

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

GoogleUser.disconnect()

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

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

gapi.signin2.ender(id, options)

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

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

बेहतर

gapi.auth2.Author(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 शुरू नहीं किया जा सका. उदाहरण के लिए, ऐसा iframe होना जो काम न करता हो. details प्रॉपर्टी, गड़बड़ी के बारे में ज़्यादा जानकारी देगी.
popup_closed_by_user
साइन इन फ़्लो पूरा होने से पहले ही, उपयोगकर्ता ने पॉप-अप बंद कर दिया.
access_denied
उपयोगकर्ता ने ज़रूरी दायरों की अनुमति नहीं दी है.
immediate_failed
सहमति फ़्लो का अनुरोध किए बिना, किसी भी उपयोगकर्ता को अपने-आप नहीं चुना जा सका. prompt: 'none' के साथ signIn का इस्तेमाल करने पर गड़बड़ी हुई.

gapi.auth2.AuthorConfig

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

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

gapi.auth2.अनुमति दें

रिस्पॉन्स को 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 अनुरोध पूरा नहीं होने पर, उसमें गड़बड़ी कोड के बारे में ज़्यादा जानकारी भी दी जा सकती है.