Firebase के लिए एपीआई कुंजियों को इस्तेमाल और मैनेज करने के बारे में जानें
संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
एपीआई पासकोड एक यूनीक स्ट्रिंग है. इसका इस्तेमाल Firebase और Google की सेवाओं के साथ इंटरैक्ट करते समय, अनुरोधों को आपके Firebase प्रोजेक्ट पर रूट करने के लिए किया जाता है. इस पेज पर एपीआई कुंजियों के बारे में बुनियादी जानकारी दी गई है. साथ ही, Firebase ऐप्लिकेशन के साथ एपीआई कुंजियों को इस्तेमाल और मैनेज करने के सबसे सही तरीके बताए गए हैं.
एपीआई कुंजियों और Firebase के बारे में सामान्य जानकारी
Firebase के लिए एपीआई कुंजियां, सामान्य एपीआई कुंजियों से अलग होती हैं
आम तौर पर एपीआई कुंजियों को इस्तेमाल किए जाने की तरह, Firebase सेवाओं की एपीआई कुंजियों का इस्तेमाल बैकएंड संसाधनों के ऐक्सेस को कंट्रोल करने के लिए, नहीं किया जाता. ऐसा सिर्फ़ Firebase के सुरक्षा नियमों (यह कंट्रोल करने के लिए कि कौनसे असली उपयोगकर्ता संसाधनों को ऐक्सेस कर सकते हैं) और Firebase ऐप्लिकेशन जांच (यह कंट्रोल करने के लिए कि कौनसे ऐप्लिकेशन संसाधनों को ऐक्सेस कर सकते हैं) की मदद से किया जा सकता है.
आम तौर पर, आपको एपीआई पासकोड को तेज़ी से सुरक्षित रखना होता है. उदाहरण के लिए, Vault सेवा का इस्तेमाल करके या कुंजियों को एनवायरमेंट वैरिएबल के तौर पर सेट करके. हालांकि, कोड या चेक-इन की गई कॉन्फ़िगरेशन फ़ाइलों में Firebase सेवाओं के लिए, एपीआई पासकोड को शामिल किया जा सकता है.
किसी Firebase प्रोजेक्ट में कई एपीआई कुंजियां हो सकती हैं, लेकिन हर एपीआई कुंजी को सिर्फ़ एक Firebase प्रोजेक्ट से जोड़ा जा सकता है.
इनमें से कोई भी काम करने पर, Firebase आपके प्रोजेक्ट के लिए अपने-आप एपीआई पासकोड बना देता है:
Firebase प्रोजेक्ट बनाएं > Browser key अपने-आप बना
Firebase Apple App बनाएं > iOS key अपने-आप बनाया गया
Firebase का Android ऐप्लिकेशन बनाएं > Android key अपने-आप बना
Google Cloud कंसोल में अपनी एपीआई कुंजियां भी बनाई जा सकती हैं. उदाहरण के लिए, डेवलपमेंट या डीबग के लिए. इस बारे में ज़्यादा जानें कि बाद में,
इस पेज पर इसका सुझाव कब दिया जा सकता है.
आपकी एपीआई कुंजियां ढूंढना
Google Cloud Console में, एपीआई और सेवाएं > क्रेडेंशियल पैनल में जाकर, अपने प्रोजेक्ट की सभी एपीआई कुंजियां देखी और मैनेज की जा सकती हैं.
नीचे दी गई जगहों पर यह भी देखा जा सकता है कि Firebase ऐप्लिकेशन से कौनसी एपीआई कुंजी अपने-आप मैच होती है. डिफ़ॉल्ट रूप से, आपके प्रोजेक्ट के सभी Firebase ऐप्लिकेशन एक ही प्लैटफ़ॉर्म के लिए (Apple बनाम Android
वेब) एक ही API कुंजी का इस्तेमाल करेंगे.
Firebase Apple ऐप्लिकेशन — Firebase कॉन्फ़िगरेशन फ़ाइल GoogleService-Info.plist में, API_KEY फ़ील्ड में
अपने-आप मेल खाने वाली एपीआई कुंजी देखें.
Firebase Android ऐप्लिकेशन — Firebase कॉन्फ़िगरेशन फ़ाइल, google-services.json में, current_key फ़ील्ड में
अपने-आप मेल खाने वाली एपीआई कुंजी देखें.
Firebase वेब ऐप्लिकेशन — apiKey फ़ील्ड में, Firebase कॉन्फ़िगरेशन ऑब्जेक्ट में
अपने-आप मैच होने वाली एपीआई कुंजी ढूंढें.
एपीआई पासकोड का इस्तेमाल करना
Firebase/Google सेवाओं के साथ इंटरैक्ट करते समय, आपके Firebase प्रोजेक्ट की पहचान करने के लिए एपीआई कुंजियों का इस्तेमाल किया जाता है. खास तौर पर, इनका इस्तेमाल आपके कोटा और बिलिंग के लिए, एपीआई अनुरोधों को आपके प्रोजेक्ट से जोड़ने के लिए किया जाता है. ये सार्वजनिक डेटा को ऐक्सेस
करने में भी काम आते हैं.
उदाहरण के लिए, किसी एपीआई पासकोड की वैल्यू को REST API कॉल में क्वेरी पैरामीटर के तौर पर पास करके, एपीआई पासकोड का इस्तेमाल किया जा सकता है. इस उदाहरण में दिखाया गया है कि
डाइनैमिक लिंक लिंक छोटा करने वाला एपीआई को कैसे अनुरोध किया जा सकता है:
POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY
जब आपका ऐप्लिकेशन किसी ऐसे Firebase एपीआई को कॉल करता है जिसके लिए मोबाइल/वेब क्लाइंट से मिली एपीआई कुंजी की ज़रूरत होती है, तो आपका ऐप्लिकेशन अपने-आप आपके प्रोजेक्ट की एपीआई कुंजी के लिए Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में दिखेगा. हालांकि, एनवायरमेंट वैरिएबल के साथ-साथ किसी दूसरे तरीके का इस्तेमाल करके, अपने ऐप्लिकेशन के लिए एपीआई कुंजियां उपलब्ध कराई जा सकती हैं.
एपीआई कुंजियों की समीक्षा करके उन पर सही पाबंदियां लागू करें (सुझाया गया)
हालांकि, Firebase सेवाओं के लिए किसी एपीआई पासकोड को सीक्रेट के तौर पर इस्तेमाल करना ज़रूरी नहीं है, लेकिन आपको इस सेक्शन में बताए गए प्रतिबंधों और सीमाओं को देखकर उन्हें लागू करना चाहिए.
Firebase API कुंजियों के लिए, अनुमति वाली सूची में अपने-आप जोड़े गए एपीआई की समीक्षा करें
जब Firebase आपके प्रोजेक्ट में एपीआई पासकोड बनाता है, तो हम उस कुंजी में अपने-आप "एपीआई से जुड़ी पाबंदियां" जोड़ देते हैं. अनुमति वाली इस सूची में जोड़े गए एपीआई, Firebase से जुड़े एपीआई हैं. इनके लिए क्लाइंट को कॉल के साथ एपीआई पासकोड देना ज़रूरी होता है. ध्यान दें कि Firebase सेवाओं के इस्तेमाल के लिए ज़रूरी ज़्यादातर एपीआई को, आपकी एपीआई कुंजियों के लिए अनुमति वाली सूची में होना ज़रूरी नहीं है.
Firebase सभी Firebase सेवाओं के लिए ज़रूरी एपीआई जोड़ता है. इसलिए, किसी एपीआई पासकोड की अनुमति वाली सूची में, उन प्रॉडक्ट के एपीआई शामिल हो सकते हैं जिनका इस्तेमाल नहीं किया जा रहा है.
अनुमति वाले एपीआई की सूची से एपीआई हटाए जा सकते हैं. हालांकि, आपको Firebase और इस्तेमाल की जाने वाली Firebase सेवाओं के लिए ज़रूरी एपीआई को न हटाएं. हर सेवा / प्रॉडक्ट के लिए, Firebase से जुड़े एपीआई की सूची देखें. ऐसा नहीं करने पर, Firebase सेवाओं को कॉल करते समय आपको गड़बड़ियां दिखेंगी.
पासवर्ड-आधारित पुष्टि का इस्तेमाल करने पर कोटा सीमित करें
अगर आपने पासवर्ड पर आधारित Firebase से पुष्टि करने की सुविधा का इस्तेमाल किया है और किसी व्यक्ति को आपके एपीआई पासकोड की जानकारी मिल जाती है, तो वह आपके Firebase प्रोजेक्ट का डेटाबेस या Cloud Storage डेटा तब तक ऐक्सेस नहीं कर पाएगा जब तक इस डेटा को Firebase के सुरक्षा नियमों के तहत सुरक्षित रखा गया है. हालांकि, वे Firebase के ऑथेंटिकेशन एंडपॉइंट को ऐक्सेस करने और आपके प्रोजेक्ट के लिए पुष्टि करने का अनुरोध करने के लिए, आपकी एपीआई कुंजी का इस्तेमाल कर सकते हैं.
इस बात को कम करने के लिए कि कोई व्यक्ति, ब्रूट फ़ोर्स अटैक का इस्तेमाल करने के लिए, एपीआई पासकोड का गलत इस्तेमाल कर सकता है, identitytoolkit.googleapis.com एंडपॉइंट के डिफ़ॉल्ट कोटा को सीमित किया जा सकता है, ताकि आपके ऐप्लिकेशन पर इस तरह की
ज़रूरत पूरी हो सके. ध्यान रखें कि अगर आपने इस कोटा को कम कर दिया और आपके ऐप्लिकेशन में अचानक
उपयोगकर्ता मिलने लगे, तो आपको साइन-इन से जुड़ी गड़बड़ियां दिख सकती हैं. ऐसा तब तक होगा, जब तक कोटा बढ़ाया नहीं जाता.
Google Cloud Console में जाकर, अपने प्रोजेक्ट के एपीआई कोटा को बदला जा सकता है.
Firebase के अलावा किसी दूसरी सेवा के लिए अलग, प्रतिबंधित एपीआई कुंजियों का इस्तेमाल करें
हालांकि, Firebase सेवाओं के लिए इस्तेमाल की जाने वाली एपीआई कुंजियों को आम तौर पर गोपनीय माने जाने की ज़रूरत नहीं होती है, फिर भी आपको उन API कुंजियों के साथ कुछ अतिरिक्त सावधानियां बरतनी चाहिए जिनका इस्तेमाल आप अन्य Google Cloud API के साथ करते हैं.
अगर किसी भी प्लैटफ़ॉर्म पर Google Cloud API (किसी भी प्लैटफ़ॉर्म पर) का इस्तेमाल किया जाता है, जो Firebase
सेवा / प्रॉडक्ट के लिए नहीं है, तो हमारा सुझाव है कि उन एपीआई के साथ इस्तेमाल करने के लिए, अलग-अलग,
प्रतिबंधित एपीआई पासकोड बनाएं. यह खास तौर पर तब ज़रूरी है, जब एपीआई ऐसी Google Cloud सेवा
के लिए हो जिसकी बिलिंग की जा सकती है.
उदाहरण के लिए, अगर iOS पर Firebase ML और Cloud Vision एपीआई इस्तेमाल किए जा रहे हैं, तो आपको अलग-अलग एपीआई पासकोड बनाने चाहिए. इनका इस्तेमाल सिर्फ़ Cloud Vision एपीआई को ऐक्सेस करने के लिए किया जा सकता है.
बिना Firebase एपीआई के लिए अलग, प्रतिबंधित एपीआई कुंजियों का इस्तेमाल करके, ज़रूरी होने पर कुंजियों को बदला या बदला जा सकता है. साथ ही, Firebase सेवाओं के इस्तेमाल में रुकावट डाले बिना, एपीआई कुंजियों पर अतिरिक्त पाबंदियां जोड़ी जा सकती हैं.
एपीआई के हिसाब से कुंजियां बनाने के निर्देश देखें
इन निर्देशों में, Super Service API नाम के नकली एपीआई के लिए, एक अलग और पाबंदी वाली एपीआई कुंजी बनाने का तरीका बताया गया है.
पहला चरण: Super Service API को ऐक्सेस करने की अनुमति न देने के लिए, अपनी मौजूदा एपीआई कुंजियां कॉन्फ़िगर करें
Google Cloud Console का क्रेडेंशियल पेज खोलें. जब कहा जाए, तब अपना प्रोजेक्ट चुनें.
सूची में मौजूद हर एपीआई कुंजी के लिए, बदलाव करने वाला व्यू खोलें.
एपीआई से जुड़ी पाबंदियां सेक्शन में, कुंजी पर पाबंदी लगाएं को चुनें. इसके बाद, उन सभी एपीआई की सूची में जोड़ें जिनका ऐक्सेस आपको एपीआई कुंजी को देना है. पक्का करें कि
उस एपीआई को शामिल नहीं किया गया हो जिसके लिए अलग एपीआई कुंजी बनाई जा रही है (इस उदाहरण में, Super Service API).
किसी एपीआई पासकोड से जुड़े एपीआई से जुड़ी पाबंदियों को कॉन्फ़िगर करने पर, आपको साफ़ तौर पर उन एपीआई के बारे में जानकारी देनी होती है जिनका ऐक्सेस कुंजी के पास है. डिफ़ॉल्ट रूप से, अगर एपीआई से जुड़ी पाबंदियां सेक्शन में कुंजी पर पाबंदी न लगाएं वाला विकल्प चुना गया हो, तो प्रोजेक्ट के लिए चालू किए गए किसी भी एपीआई को ऐक्सेस करने के लिए, एपीआई पासकोड का इस्तेमाल किया जा सकता है.
अब आपकी मौजूदा एपीआई कुंजियां, Super Service API को ऐक्सेस नहीं देंगी. हालांकि, हर कुंजी ऐसे एपीआई के लिए काम करती रहेगी जिसे आपने उसकी एपीआई से जुड़ी पाबंदियों की सूची में जोड़ा था.
दूसरा चरण: Super Service API को ऐक्सेस करने के लिए, एक नई एपीआई कुंजी बनाना और उसका इस्तेमाल करना
क्रेडेंशियल
पेज पर वापस जाएं. पक्का करें कि आपने अब भी Firebase प्रोजेक्ट चुना हो.
क्रेडेंशियल बनाएं > एपीआई पासकोड पर क्लिक करें. नई एपीआई पासकोड को नोट करें और कुंजी पर पाबंदी लगाएं पर क्लिक करें.
एपीआई से जुड़ी पाबंदियां सेक्शन में, कुंजी पर पाबंदी लगाएं को चुनें. इसके बाद, सिर्फ़Super Service API को सूची में जोड़ें.
यह नई एपीआई कुंजी सिर्फ़ Super Service API को ऐक्सेस देती है.
नई एपीआई कुंजी का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन और सेवाओं को कॉन्फ़िगर करें.
एनवायरमेंट के हिसाब से बनाई गई एपीआई कुंजियों का इस्तेमाल करें (सुझाया गया)
अगर आपने अलग-अलग एनवायरमेंट, जैसे कि स्टेजिंग और प्रोडक्शन के लिए अलग-अलग Firebase प्रोजेक्ट सेट अप किए हैं, तो
यह ज़रूरी है कि हर ऐप्लिकेशन इंस्टेंस उससे जुड़े Firebase प्रोजेक्ट के साथ इंटरैक्ट करे. उदाहरण के लिए, आपके स्टेजिंग ऐप्लिकेशन इंस्टेंस को कभी भी आपके प्रोडक्शन Firebase प्रोजेक्ट से बात नहीं करनी चाहिए. इसका यह भी मतलब है कि आपके स्टेजिंग ऐप्लिकेशन को आपके स्टेजिंग Firebase प्रोजेक्ट से जुड़ी एपीआई कुंजियों का इस्तेमाल करना होगा.
डेवलपमेंट से स्टेजिंग में कोड बदलने के दौरान होने वाली समस्याओं को कम करने के लिए, कोड में एपीआई कुंजियों को शामिल करने के बजाय, उन्हें एनवायरमेंट वैरिएबल के तौर पर सेट करें या कॉन्फ़िगरेशन फ़ाइल में शामिल करें.
ध्यान दें कि अगर डेवलपमेंट के लिए Firebase लोकल एम्युलेटर सुइट का इस्तेमाल, Firebase ML के साथ किया जा रहा है, तो आपको सिर्फ़ डीबग वाली एपीआई कुंजी बनानी होगी और उसका इस्तेमाल करना होगा. इस तरह की कुंजी बनाने के निर्देश, Firebase ML दस्तावेज़ में दिए गए हैं.
अक्सर पूछे जाने वाले सवाल और समस्या का हल
अक्सर पूछे जाने वाले सवाल
क्या Firebase सेवाओं के लिए एपीआई कुंजियों
पर डिफ़ॉल्ट रूप से पाबंदी लगी है?
हां, डिफ़ॉल्ट रूप से, Firebase से जुड़े एपीआई के साथ इस्तेमाल के लिए Firebase अपने-आप प्रावधान की सुविधा जिन पर
लागू होती है उन पर "एपीआई पाबंदियां" अपने-आप लागू हो जाती हैं. अनुमति वाली इस सूची में शामिल Firebase से जुड़े एपीआई की सूची देखें.
इस अनुमति वाले एपीआई में वे एपीआई जोड़े गए हैं जिन्हें Firebase सेवाएं क्लाइंट-कोड से कॉल करती हैं. आपके Firebase प्रोजेक्ट या ऐप्लिकेशन की पहचान के लिए, एपीआई कुंजियों की ज़रूरत होती है. ध्यान दें कि Firebase सेवाओं का इस्तेमाल करने के लिए, ज़रूरी ज़्यादातर एपीआई को आपकी एपीआई कुंजियों की अनुमति वाली सूची में होना ज़रूरी नहीं है.
Firebase सभी Firebase सेवाओं के लिए ज़रूरी एपीआई जोड़ता है. इसलिए, किसी एपीआई पासकोड की अनुमति वाली सूची में, उन प्रॉडक्ट के एपीआई शामिल हो सकते हैं जिनका इस्तेमाल नहीं किया जा रहा है. अनुमति वाले एपीआई की सूची से एपीआई हटाए जा सकते हैं. हालांकि, आपको Firebase और इस्तेमाल की जाने वाली Firebase सेवाओं के लिए ज़रूरी एपीआई को न हटाएं. Firebase से जुड़े एपीआई की सूची देखें. हर सेवा / प्रॉडक्ट के लिए, इन एपीआई को सूची में शामिल करना ज़रूरी है. ऐसा नहीं करने पर, Firebase सेवाओं को कॉल करते समय आपको गड़बड़ियां दिखेंगी.
Google Cloud Console में, एपीआई और सेवाएं > क्रेडेंशियल पैनल में जाकर, अपनी सभी एपीआई कुंजियां और उनसे जुड़ी "एपीआई से जुड़ी पाबंदियां" देखी जा सकती हैं.
Firebase इन "एपीआई से जुड़ी पाबंदियों" को कैसे लागू करता है, इसके बारे में यहां दी गई जानकारी देखें:
मई 2024 से, Firebase में अपने-आप प्रावधान की गई सभी नई एपीआई कुंजियां, Firebase से जुड़े एपीआई की सूची तक अपने-आप सीमित हो जाएंगी.
मई 2024 में, Firebase ने जिन मौजूदा और बिना पाबंदी वाली एपीआई कुंजियों को अपने-आप प्रावधान किया था उन्हें मई 2024 में, Firebase से जुड़े एपीआई की सूचीसाथ ही, उस प्रोजेक्ट के लिए चालू एपीआई की सूची तक सीमित कर दिया गया है.
किसी भी मौजूदा और पहले से पाबंदी वाली एपीआई कुंजियों को Firebase में पहले अपने-आप प्रावधान में नहीं बदला गया था.
ऐसी किसी भी मौजूदा एपीआई कुंजी को नहीं बदला गया है जिसे Firebase में अपने-आप प्रावधान नहीं किया गया था.
मैं कैसे पता करूं कि मेरे Firebase ऐप्लिकेशन से कौनसी एपीआई कुंजी
जुड़ी है?
इनमें से किसी भी विकल्प का इस्तेमाल करके यह तय किया जा सकता है कि
आपके Firebase ऐप्लिकेशन से कौनसी एपीआई कुंजी जुड़ी है:
Firebase कंसोल
settingsप्रोजेक्ट सेटिंग
पर जाएं. इसके बाद, नीचे की ओर स्क्रोल करके आपके ऐप्लिकेशन कार्ड पर जाएं.
अपनी पसंद का ऐप्लिकेशन चुनें.
पसंद के ऐप्लिकेशन के लिए, Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट हासिल करें और फिर
उसकी एपीआई कुंजी ढूंढें:
सेब: GoogleService-Info.plist को डाउनलोड करें और फिर
API_KEY फ़ील्ड ढूंढें
Android: google-services.json डाउनलोड करें, पसंदीदा ऐप्लिकेशन
का कॉन्फ़िगरेशन ढूंढें (इसके पैकेज का नाम देखें), और फिर
current_key फ़ील्ड ढूंढें
वेब: कॉन्फ़िगरेशन विकल्प चुनें और फिर apiKey फ़ील्ड ढूंढें
Firebase CLI
नीचे दिए गए निर्देश को चलाकर, अपनी पसंद के ऐप्लिकेशन के लिए Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट पाएं:
firebase apps:sdkconfig PLATFORMFIREBASE_APP_ID
PLATFORM (इनमें से एक): IOS | ANDROID | WEB
FIREBASE_APP_ID: आपके Firebase ऐप्लिकेशन के लिए Firebase से असाइन किया गया यूनीक आइडेंटिफ़ायर (अपना ऐप्लिकेशन आईडी ढूंढें)
ऐप्लिकेशन के प्रिंट किए गए Firebase कॉन्फ़िगरेशन में, इसकी एपीआई कुंजी ढूंढें:
सेब: API_KEY फ़ील्ड ढूंढें
Android: पसंदीदा ऐप्लिकेशन का कॉन्फ़िगरेशन ढूंढें (इसके पैकेज का नाम देखें) और फिर current_key फ़ील्ड ढूंढें
वेब: apiKey फ़ील्ड ढूंढें
REST API
पसंद के ऐप्लिकेशन के लिए लागू एंडपॉइंट पर कॉल करके, एपीआई पासकोड का apiKeyId (यूआईडी) पाएं. इसके बाद, apiKeyId वैल्यू को अगले चरण पर भेजें.
यह keyString वही वैल्यू है जो ऐप्लिकेशन के कॉन्फ़िगरेशन आर्टफ़ैक्ट (Apple | Android | वेब) में मिल सकती है.
क्या
अपने Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में, एक ही Firebase ऐप्लिकेशन के लिए दो एपीआई पासकोड शामिल किए जा सकते हैं?
Firebase Apple ऐप्लिकेशन — हर ऐप्लिकेशन की अपनी कॉन्फ़िगरेशन फ़ाइल होती है और उसमें सिर्फ़ एक एपीआई पासकोड दिया जा सकता है.
Firebase Android ऐप्लिकेशन — Firebase प्रोजेक्ट के सभी Android ऐप्लिकेशन, एक ही कॉन्फ़िगरेशन फ़ाइल में होते हैं. साथ ही, हर ऐप्लिकेशन में सिर्फ़ एक एपीआई कुंजी हो सकती है. हालांकि, इस कॉन्फ़िगरेशन फ़ाइल के हर ऐप्लिकेशन के लिए, अलग-अलग कुंजी
दी गई हो सकती है.
Firebase वेब ऐप्लिकेशन — हर ऐप्लिकेशन का अपना कॉन्फ़िगरेशन ऑब्जेक्ट होता है और उसमें सिर्फ़ एक एपीआई कुंजी होती है.
हालांकि, आपके पास एक ऐप्लिकेशन के साथ एक से ज़्यादा एपीआई कुंजियों का इस्तेमाल करने का विकल्प है. इन अन्य एपीआई कुंजियों को ऐक्सेस करने के लिए, आपको अपने ऐप्लिकेशन के लिए एक तरीका उपलब्ध कराना होगा. जैसे, एनवायरमेंट वैरिएबल से ऐक्सेस करना. किसी अन्य एपीआई कुंजी को ऐक्सेस करने का तरीका,
आपके Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में शामिल
की गई एपीआई कुंजियों पर निर्भर नहीं कर सकता.
Firebase
को यह कैसे पता चलता है कि किसी ऐप्लिकेशन (जैसे, Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में) को किस एपीआई पासकोड से मैच करना है?
अगर Firebase को मिलती-जुलती कोई पाबंदी वाली कुंजी नहीं मिलती है, तो वह
Apple ऐप्लिकेशन के लिए iOS key, Android ऐप्लिकेशन के लिए Android key, और वेब ऐप्लिकेशन के लिए Browser key कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में शामिल कर देगा (यह मानते हुए कि ये कुंजियां मौजूद हैं
और उनमें ऐसी कोई "ऐप्लिकेशन पाबंदी" नहीं है जो उन्हें उस ऐप्लिकेशन से मेल न खाए).
क्या मैं अपनी Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट से,
एपीआई पासकोड और फ़ील्ड को मैन्युअल तरीके से मिटा सकता/सकती हूं?
हां, अपनी कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट से, एपीआई पासकोड को मैन्युअल तरीके से मिटाया जा सकता है. हालांकि,
आपको अपने ऐप्लिकेशन के लिए, एपीआई पासकोड ऐक्सेस करने का कोई दूसरा तरीका देना होगा
(जैसे, एनवायरमेंट वैरिएबल के ज़रिए). ऐसा न करने पर, Firebase सेवाओं को किया गया कोई भी कॉल
फ़ेल हो जाएगा.
क्या मैं अलग-अलग एपीआई कुंजियों का इस्तेमाल करके,
अपनी Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में मैन्युअल तरीके से बदलाव कर सकता/सकती हूं?
हां, किसी ऐप्लिकेशन के साथ कोई दूसरी एपीआई कुंजी जोड़ने के लिए, कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में मैन्युअल तरीके से बदलाव किया जा सकता है.
क्या किसी एपीआई पासकोड को
एक Firebase प्रोजेक्ट से दूसरे प्रोजेक्ट में ले जाया जा सकता है?
नहीं, एपीआई पासकोड सिर्फ़ किसी खास प्रोजेक्ट की पहचान करता है. इसे किसी दूसरे प्रोजेक्ट में नहीं ले जाया जा सकता.
अगर मैं Google Cloud Console में
दी गई एपीआई कुंजी को मिटा दूं, तो क्या होगा?
अगर किसी ऐसी एपीआई कुंजी को मिटाया जाता है जिसका इस्तेमाल कोई ऐप्लिकेशन कर रहा है, तो उस ऐप्लिकेशन से एपीआई कॉल पूरे नहीं हो पाएंगे. आपको ऐसी रिपोर्ट, ईमेल या गड़बड़ियां मिल सकती हैं जिनके लिए एपीआई पासकोड अमान्य है.
एपीआई पासकोड मिटाने के बाद, उसे वापस नहीं लाया जा सकता.
Firebase
API कुंजी के लिए, "एपीआई से जुड़ी पाबंदियों" की अनुमति वाली सूची में कौनसे एपीआई ज़रूरी हैं?
Firebase API पासकोड के लिए, सिर्फ़ वे एपीआई हैं जिन्हें कुंजी की "एपीआई पाबंदियों" की अनुमति वाली सूची में शामिल होना चाहिए
वे ऐसे एपीआई हैं जिनके लिए क्लाइंट को कॉल के साथ एपीआई कुंजी देनी होती है. ध्यान दें कि Firebase से जुड़े कुछ ही एपीआई के लिए यह ज़रूरी है. आपके प्रोजेक्ट में चालू किए गए ज़्यादातर Firebase से जुड़े एपीआई को कुंजी की "एपीआई पाबंदियों"
की अनुमति वाली सूची में शामिल होने की ज़रूरत नहीं है.
नीचे दी गई टेबल का इस्तेमाल करके यह तय करें कि Firebase API कुंजी के लिए, Firebase से जुड़े कौनसे एपीआई को "एपीआई पाबंदियों" की अनुमति वाली सूची में शामिल किया जाना चाहिए. याद रखें,
Firebase API कुंजियों का इस्तेमाल सिर्फ़ Firebase सेवाओं के लिए किया जाना चाहिए. खास तरह के एपीआई के लिए, अलग और प्रतिबंधित एपीआई पासकोड बनाने के बारे में ज़्यादा जानें.
Google Cloud Console में, एपीआई और सेवाएं > क्रेडेंशियल पैनल में अपने प्रोजेक्ट की एपीआई कुंजियां देखी और मैनेज की जा सकती हैं.
एपीआई का नाम (सेवा का नाम)
एपीआई का डिसप्ले नेम
असोसिएट की गई Firebase सेवा / प्रॉडक्ट
firebase.googleapis.com
Firebase मैनेजमेंट एपीआई
सभी प्रॉडक्ट
logging.googleapis.com
Cloud Logging API
सभी प्रॉडक्ट
firebaseinstallations.googleapis.com
Firebase इंस्टॉलेशन एपीआई
क्लाउड से मैसेज, Crashlytics, इन-ऐप्लिकेशन मैसेज,
परफ़ॉर्मेंस मॉनिटर करने की सुविधा, रिमोट कॉन्फ़िगरेशन, Firebase ML
firebaseappcheck.googleapis.com
Firebase ऐप्लिकेशन चेक एपीआई
ऐप्लिकेशन की जांच
firebaseappdistribution.googleapis.com
Firebase App Distribution API
App Distribution
firebaseapptesters.googleapis.com
Firebase ऐप्लिकेशन टेस्टर एपीआई
App Distribution
identitytoolkit.googleapis.com
पहचान टूलकिट एपीआई
प्रमाणीकरण
securetoken.googleapis.com
टोकन सर्विस एपीआई
प्रमाणीकरण
firebaserules.googleapis.com *
Firebase के नियम एपीआई
Cloud Firestore, Cloud Storage, रीयल टाइम डेटाबेस
datastore.googleapis.com
क्लाउड डेटास्टोर एपीआई
Cloud Firestore
firestore.googleapis.com
Google Cloud Firestore एपीआई
Cloud Firestore
fcmregistrations.googleapis.com
FCM रजिस्ट्रेशन एपीआई
Cloud Messaging
firebasestorage.googleapis.com
Firebase के लिए Cloud Storage एपीआई
Cloud Storage
firebasedynamiclinks.googleapis.com
Firebase डाइनैमिक लिंक एपीआई
Dynamic Links
firebasehosting.googleapis.com *
Firebase होस्टिंग एपीआई
Hosting
firebaseinappmessaging.googleapis.com
Firebase इन-ऐप्लिकेशन मैसेज का एपीआई
इन-ऐप्लिकेशन मैसेज
firebaseml.googleapis.com
Firebase ML API (एपीआई)
Firebase ML, Firebase के लिए Vertex AI
mlkit.googleapis.com ** पर
एमएल किट एपीआई
Firebase ML
mobilecrashreporting.googleapis.com
Mobile Crash Reporting API
Performance Monitoring
play.googleapis.com
Google Play Android डेवलपर API
Performance Monitoring
firebaseremoteconfig.googleapis.com
Firebase रिमोट कॉन्फ़िगरेशन एपीआई
परफ़ॉर्मेंस मॉनिटर करना, रिमोट कॉन्फ़िगरेशन
firebaseremoteconfigrealtime.googleapis.com
Firebase रिमोट कॉन्फ़िगरेशन रीयल टाइम एपीआई
परफ़ॉर्मेंस मॉनिटर करना, रिमोट कॉन्फ़िगरेशन
cloudconfig.googleapis.com **
लागू नहीं
Remote Config
firebasedatabase.googleapis.com *
Firebase रीयलटाइम डेटाबेस एपीआई
Realtime Database
* यह सिर्फ़ तब ज़रूरी है, जब तीसरे पक्ष के टूल के साथ Firebase API पासकोड का इस्तेमाल किया जा रहा हो या Firebase सेवा / प्रॉडक्ट का REST ऐक्सेस सीधे तौर पर दिया जा रहा हो.
** प्रॉडक्ट के SDK टूल के पुराने वर्शन के लिए ज़रूरी है. अगर SDK टूल का
नया वर्शन इस्तेमाल किया जा रहा है, तो एपीआई को कुंजी की अनुमति वाली सूची में शामिल होना ज़रूरी नहीं है.
समस्या हल करना
मैं API_KEY_SERVICE_BLOCKED या पाबंदी 403 से जुड़ी उस गड़बड़ी को कैसे ठीक करूं जिसमें कहा जाता है कि इस एपीआई के अनुरोध ब्लॉक किए गए हैं?
अगर आपको API_KEY_SERVICE_BLOCKED या ऐसी गड़बड़ी मिल रही है, तो अक्सर पूछे जाने वाले इस सवाल में दिए गए दिशा-निर्देशों का पालन करें:
Forbidden: 403 POST https://example-service.googleapis.com/method: Requests to this API example-service.googleapis.com method google.example-service.rest.method are blocked.
आपका ऐप्लिकेशन जिस एपीआई कुंजी का इस्तेमाल करके एपीआई को कॉल करता है, हो सकता है उस पर "एपीआई की पाबंदियां"
लागू हों. साथ ही, कुंजी की अनुमति वाली सूची में वह एपीआई शामिल न हो.
अगर किसी अन्य सेवा का इस्तेमाल करते समय आपको गड़बड़ी का यह मैसेज दिख रहा है, तो हमारा सुझाव है कि खास तौर पर उस सेवा और एपीआई के लिए, एक नई एपीआई कुंजी बनाएं. Firebase API कुंजियों का इस्तेमाल, सिर्फ़ Firebase की सेवाओं / प्रॉडक्ट के लिए किया जाना चाहिए.
खास तरह के एपीआई के लिए, अलग और प्रतिबंधित एपीआई पासकोड बनाने के बारे में ज़्यादा जानें.
मैं इस गड़बड़ी को कैसे ठीक करूं? "इस Firebase ऐप्लिकेशन का मेज़रमेंट आईडी,
सर्वर से फ़ेच नहीं किया जा सका."
आपके वेब ऐप्लिकेशन पर जिस एपीआई कुंजी का इस्तेमाल किया जाता है, हो सकता है कि उस पर "एपीआई से जुड़ी पाबंदियां"
लागू हों. अगर ऐसा है, तो पक्का करें कि Firebase मैनेजमेंट एपीआई
अनुमति वाले एपीआई की सूची में हो.
मुझे एक ईमेल या गड़बड़ी मिली है कि
मेरी एपीआई कुंजी अमान्य है. क्या हुआ और मैं इस समस्या को कैसे ठीक करूं?
एपीआई पासकोड अमान्य होने की सबसे आम वजहें यहां बताई गई हैं:
एपीआई पासकोड में
"एपीआई पासकोड से जुड़ी पाबंदियां"
लागू होती हैं. इस वजह से, ऐप्लिकेशन उस पासकोड ("ऐप्लिकेशन पाबंदियां") का इस्तेमाल करने की कोशिश करता है या एपीआई के लिए ("एपीआई
पाबंदियां") इस्तेमाल करने की कोशिश नहीं करता है.
Google Cloud Console में मौजूद प्रोजेक्ट से, एपीआई पासकोड को मिटाया गया.
ऐप्लिकेशन की Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में मौजूद प्रोजेक्ट आईडी के लिए, एपीआई पासकोड नहीं बनाया गया था.