Cloud Firestore REST एपीआई का इस्तेमाल करें

Cloud Firestore को इस्तेमाल करने का सबसे आसान तरीका, इनमें से किसी एक का इस्तेमाल करना है तो कुछ स्थितियों में ऐसा किया जा सकता है REST API को सीधे कॉल करें.

REST API, इन कामों में मददगार हो सकता है:

  • सीमित संसाधनों वाले एनवायरमेंट से Cloud Firestore को ऐक्सेस करना, जैसे, इंटरनेट ऑफ़ थिंग्स (आईओटी) डिवाइस, जिस पर पूरी तरह से क्लाइंट काम करता हो लाइब्रेरी उपलब्ध नहीं है.
  • डेटाबेस को अपने-आप व्यवस्थित करना या पूरा डेटाबेस मेटाडेटा हासिल करना.

अगर आपको किसी gRPC-समर्थित भाषा है, तो REST API के बजाय RPC API का इस्तेमाल करें.

पुष्टि करना और अनुमति देना

पुष्टि करने के लिए, Cloud Firestore REST API इनमें से किसी एक को Firebase से पुष्टि करने का आईडी टोकन या Google Identity OAuth 2.0 टोकन. आपका दिया गया टोकन आपके अनुरोध के प्राधिकरण को प्रभावित करता है:

  • अपने ऐप्लिकेशन के उपयोगकर्ताओं के अनुरोधों की पुष्टि करने के लिए, Firebase आईडी टोकन का इस्तेमाल करें. इन अनुरोधों के लिए, Cloud Firestore, Cloud Firestore के सुरक्षा नियम, जिनसे यह तय किया जा सकेगा कि कोई अनुरोध है या नहीं को अनुमति है.

  • Google Identity OAuth 2.0 टोकन और सेवा खाता जैसे कि डेटाबेस एडमिन के लिए अनुरोध. इन अनुरोधों के लिए, Cloud Firestore के इस्तेमाल पहचान और ऐक्सेस मैनेजमेंट (आईएएम) की मदद से तय करें कि अनुरोध को अनुमति दी गई है.

Firebase आईडी टोकन के साथ काम करना

Firebase आईडी टोकन पाने के दो तरीके हैं:

किसी उपयोगकर्ता का Firebase आईडी टोकन हासिल करके, आप उपयोगकर्ता.

Firebase आईडी टोकन से पुष्टि किए गए और पुष्टि नहीं किए गए अनुरोधों के लिए अनुरोध है, तो Cloud Firestore आपके Cloud Firestore के सुरक्षा नियम तय करके, यह तय किया जा सकेगा कि अनुरोध अनुमति दी गई.

Google Identity OAuth 2.0 टोकन के साथ काम करना

ऐक्सेस टोकन जनरेट करने के लिए, सेवा खाता Google API क्लाइंट लाइब्रेरी या फिर पासवर्ड का इस्तेमाल करके, सर्वर से सर्वर ऐप्लिकेशन के लिए, OAuth 2.0 का इस्तेमाल करना. आपने लोगों तक पहुंचाया मुफ़्त में gcloud कमांड-लाइन टूल और आदेश gcloud auth application-default print-access-token.

Cloud Firestore REST एपीआई:

  • https://www.googleapis.com/auth/datastore

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

सेवा खातों के ऐक्सेस को कंट्रोल करने के लिए, Cloud Firestore के लिए आईएएम की भूमिकाएं.

ऐक्सेस टोकन से पुष्टि करना

Firebase आईडी टोकन या Google Identity OAuth 2.0 पाने के बाद टोकन के तौर पर, उसे Cloud Firestore एंडपॉइंट को Authorization के तौर पर पास करें हेडर को Bearer {YOUR_TOKEN} पर सेट किया गया.

REST कॉल करें

सभी REST API एंडपॉइंट, बेस यूआरएल https://firestore.googleapis.com/v1/ में मौजूद होते हैं.

cities कलेक्शन में LA आईडी वाले दस्तावेज़ का पाथ बनाने के लिए आप नीचे दिए गए स्ट्रक्चर का इस्तेमाल करेंगे.YOUR_PROJECT_ID

/projects/YOUR_PROJECT_ID/databases/(default)/documents/cities/LA

इस पाथ के साथ इंटरैक्ट करने के लिए, इसे बेस एपीआई यूआरएल के साथ जोड़ें.

https://firestore.googleapis.com/v1/projects/YOUR_PROJECT_ID/databases/(default)/documents/cities/LA

REST API के साथ एक्सपेरिमेंट शुरू करने का सबसे सही तरीका है कि एपीआई एक्सप्लोरर, जो Google Identity अपने-आप जनरेट करता है OAuth 2.0 टोकन का इस्तेमाल किया जा सकता है. साथ ही, इसकी मदद से एपीआई की जांच की जा सकती है.

तरीके

यहां दो सबसे अहम तरीकों के ग्रुप के बारे में कम शब्दों में जानकारी दी गई है. एक पूरा सूची में, REST API का रेफ़रंस देखें या एपीआई एक्सप्लोरर का इस्तेमाल करें.

v1.projects.databases.documents

उन दस्तावेज़ों पर CRUD से जुड़ी कार्रवाइयां करें जो डेटा जोड़ने या डेटा पाने से जुड़ी गाइड.

v1.projects.databases.collectionGroups.indexes

इंडेक्स पर कार्रवाइयां करें, जैसे कि नए इंडेक्स बनाना, किसी मौजूदा इंडेक्स को बंद करना या सभी मौजूदा इंडेक्स की सूची बनाना. डेटा स्ट्रक्चर को ऑटोमेट करने के लिए मददगार है माइग्रेशन या प्रोजेक्ट के बीच इंडेक्स सिंक्रोनाइज़ करना.

इससे दस्तावेज़ मेटाडेटा को वापस पाने की सुविधा भी चालू होती है, जैसे कि सभी की सूची दिए गए दस्तावेज़ के लिए फ़ील्ड और सब-कलेक्शन.

गड़बड़ी कोड

Cloud Firestore का अनुरोध पूरा होने पर, Cloud Firestore API, एचटीटीपी 200 OK स्टेटस कोड दिखाता है और का अनुरोध किया गया है. जब कोई अनुरोध पूरा नहीं होता है, तो Cloud Firestore API, एचटीटीपी 4xx या 5xx स्टेटस कोड और इसके बारे में जानकारी के साथ रिस्पॉन्स गड़बड़ी को ठीक करें.

यहां दी गई टेबल में, गड़बड़ी के हर कोड के लिए सुझाई गई कार्रवाइयों की सूची दी गई है. ये कोड लागू होते हैं Cloud Firestore REST और RPC एपीआई पर अपग्रेड किया जाता है. Cloud Firestore SDK टूल और क्लाइंट लाइब्रेरी पर शायद ये गड़बड़ी कोड न दिखें.

कैननिकल गड़बड़ी कोड ब्यौरा सुझाई गई कार्रवाई
ABORTED यह अनुरोध, किसी दूसरे अनुरोध से मेल नहीं खा रहा है. लेन-देन से जुड़ी जवाबदेही के लिए:
अनुरोध को फिर से करने की कोशिश करें या विवाद को कम करने के लिए, अपना डेटा मॉडल फिर से तैयार करें.

लेन-देन के अनुरोधों के लिए:
लेन-देन के दौरान फिर से अनुरोध करें या विवाद कम करने के लिए, अपने डेटा मॉडल को फिर से तैयार करें.
ALREADY_EXISTS अनुरोध ने ऐसा दस्तावेज़ बनाने की कोशिश की है जो पहले से मौजूद है. समस्या को ठीक किए बिना फिर से कोशिश न करें.
DEADLINE_EXCEEDED अनुरोध को हैंडल करने वाला Cloud Firestore सर्वर, समयसीमा पार कर चुका है. एक्सपोनेन्शियल बैकऑफ़ का इस्तेमाल करके फिर से कोशिश करें.
FAILED_PRECONDITION अनुरोध, पहले से तय की गई एक शर्त के मुताबिक नहीं है. उदाहरण के लिए, क्वेरी करने के लिए किसी ऐसे इंडेक्स की ज़रूरत हो सकती है जिसे अब तक तय न किया गया हो. पहले से तय की गई शर्त के लिए गड़बड़ी के जवाब में मैसेज फ़ील्ड देखें. समस्या को ठीक किए बिना फिर से कोशिश न करें.
INTERNAL Cloud Firestore सर्वर में कोई गड़बड़ी मिली. इस अनुरोध को एक से ज़्यादा बार न करें.
INVALID_ARGUMENT अनुरोध पैरामीटर में एक अमान्य मान शामिल है. गड़बड़ी के रिस्पॉन्स में अमान्य वैल्यू के लिए मैसेज फ़ील्ड देखें. समस्या को ठीक किए बिना फिर से कोशिश न करें.
NOT_FOUND अनुरोध में ऐसे दस्तावेज़ को अपडेट करने की कोशिश की गई है जो मौजूद नहीं है. समस्या को ठीक किए बिना फिर से कोशिश न करें.
PERMISSION_DENIED उपयोगकर्ता के पास यह अनुरोध करने की अनुमति नहीं है. समस्या को ठीक किए बिना फिर से कोशिश न करें.
RESOURCE_EXHAUSTED इस प्रोजेक्ट ने अपने कोटे या इलाके/कई इलाकों के लिए तय सीमा पार कर ली है. यह पुष्टि करें कि आपने प्रोजेक्ट के लिए तय किया गया कोटा पार नहीं किया है. अगर आपने प्रोजेक्ट कोटा पार कर लिया है, तो समस्या को ठीक किए बिना दोबारा कोशिश न करें.

इसके अलावा, एक्सपोनेन्शियल बैकऑफ़ के साथ फिर से कोशिश करें.
UNAUTHENTICATED अनुरोध में पुष्टि करने के लिए मान्य क्रेडेंशियल शामिल नहीं थे. समस्या को ठीक किए बिना फिर से कोशिश न करें.
UNAVAILABLE Cloud Firestore सर्वर में कोई गड़बड़ी मिली. एक्सपोनेन्शियल बैकऑफ़ का इस्तेमाल करके फिर से कोशिश करें.