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

GoogleAuth.फिर(onInit, onError)

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

तर्क
onInit पूरी तरह से सेट होने पर, फ़ंक्शन को GoogleAuth ऑब्जेक्ट के साथ कॉल किया जाता है शुरू किया गया.
onError इस फ़ंक्शन में, error प्रॉपर्टी वाले ऑब्जेक्ट को शामिल किया गया है, अगर GoogleAuth शुरू नहीं हो सका.
रिटर्न
प्रॉमिस एक 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 उपयोगकर्ताओं की जानकारी फ़ेच करें जब वे साइन इन करते हैं, तो प्रोफ़ाइल की बुनियादी जानकारी. 'प्रोफ़ाइल', 'ईमेल' जोड़ता है और 'ओपनआईडी' शामिल किया गया है. सही न होने पर 'सही'.
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 ज़रूरी नहीं. क्या इसे चालू करना है granular अनुमतियां हैं. अगर false पर सेट किया जाता है, तो Google की मदद से ज़्यादा जानकारी इससे पहले बनाए गए OAuth क्लाइंट आईडी के लिए, खाते की अनुमतियां बंद कर दी जाएंगी 2019. साल 2019 के दौरान या उसके बाद बनाए गए OAuth क्लाइंट आईडी पर कोई असर नहीं होगा. उनके लिए ज़्यादा जानकारी वाली अनुमतियां हमेशा चालू रहती हैं.
plugin_name string ज़रूरी नहीं. अगर यह वैल्यू सेट है, तो जुलाई से पहले बनाए गए नए क्लाइंट आईडी 29 तारीख, 2022 को Google प्लैटफ़ॉर्म की पुरानी लाइब्रेरी का इस्तेमाल किया जा सकेगा. डिफ़ॉल्ट रूप से, नए बनाए गए क्लाइंट आईडी को अब इस्तेमाल करना होगा और इसके बजाय नई Google Identity का इस्तेमाल करना होगा सेवाएं लाइब्रेरी. आपके पास कोई भी वैल्यू चुनने का विकल्प है. जैसे, जानकारी देने वाला नाम पहचान के लिए, प्रॉडक्ट या प्लगिन के नाम का सुझाव दिया जाता है. उदाहरण: 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 अगर उपयोगकर्ता ने साइन इन किया हुआ है या अगर false उपयोगकर्ता ने साइन आउट कर दिया है या GoogleAuth ऑब्जेक्ट नहीं है शुरू किया गया.

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 इंस्टेंस, मौजूदा उपयोगकर्ता सेट नहीं किया गया है. इसका इस्तेमाल करें currentUser.listen() तरीका या GoogleAuth.then() शुरुआती GoogleAuth इंस्टेंस पाने के लिए.

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

GoogleAuth.currentUser.listen(listener)

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

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

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, जिसे फिर से लोड किए जाने पर पूरा किया जाता है फिर से लोड करने पर gapi.auth2.AuthResponse OAuth टोकन बन गया है.

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.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.Authorize(params, callback)

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

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

  • आपके ऐप्लिकेशन को 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 ज़रूरी नहीं. क्या इसे चालू करना है granular अनुमतियां हैं. अगर false पर सेट किया जाता है, तो Google की मदद से ज़्यादा जानकारी इससे पहले बनाए गए OAuth क्लाइंट आईडी के लिए, खाते की अनुमतियां बंद कर दी जाएंगी 2019. साल 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 ऐक्सेस टोकन दिया गया. सिर्फ़ तब मौजूद होता है, जब permission या token response_type में बताया गया है.
id_token string आईडी टोकन दिया गया. यह सिर्फ़ तब मौजूद होता है, जब id_token को response_type.
code string ऑथराइज़ेशन कोड दिया गया. यह सिर्फ़ तब मौजूद होता है, जब code को response_type.
scope string ऐक्सेस टोकन में दिए गए दायरे. यह सिर्फ़ तब प्रज़ेंट होता है, जब permission या response_type में token की जानकारी दी गई है.
expires_in number ऐक्सेस टोकन की समयसीमा खत्म होने में लगने वाले सेकंड. सिर्फ़ तब प्रज़ेंट होता है, जब permission या token को response_type में बताया गया था.
first_issued_at number वह टाइमस्टैंप जब उपयोगकर्ता ने पहली बार अनुरोध किए गए दायरे स्वीकार किए थे. सिर्फ़ तभी मौजूद होता है, जब response_type में permission या token की जानकारी दी गई है.
expires_at number ऐक्सेस टोकन की समयसीमा खत्म होने का टाइमस्टैंप. सिर्फ़ तब प्रज़ेंट होता है, जब permission या token को response_type में बताया गया था.
error string अनुरोध पूरा न होने पर, इसमें गड़बड़ी कोड शामिल है.
error_subtype string अनुरोध पूरा न होने पर, इसमें गड़बड़ी के कोड में अन्य जानकारी भी शामिल हो सकती है वापस किया गया.