Operation

यह संसाधन, लंबे समय तक चलने वाली कार्रवाई को दिखाता है, जो कि नेटवर्क एपीआई कॉल की वजह से होती है.

JSON के काेड में दिखाना
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
फ़ील्ड
name

string

सर्वर का असाइन किया गया नाम. यह नाम सिर्फ़ उस सेवा के लिए यूनीक होता है जिससे वह मूल रूप से मैच करता है. अगर आपने डिफ़ॉल्ट एचटीटीपी मैपिंग का इस्तेमाल किया है, तो name, संसाधन का नाम होना चाहिए जिसके आखिर में operations/{unique_id} हो.

metadata

object

ऑपरेशन से जुड़ा खास सेवा का मेटाडेटा. आम तौर पर, इसमें गेम की प्रोग्रेस की जानकारी और सामान्य मेटाडेटा शामिल होता है. जैसे, वीडियो बनाने का समय. ऐसा हो सकता है कि कुछ सेवाएं इस तरह का मेटाडेटा उपलब्ध न कराएं. लंबे समय तक चलने वाली कार्रवाई दिखाने वाले किसी भी तरीके में, अगर कोई है, तो मेटाडेटा टाइप का दस्तावेज़ होना चाहिए.

ऐसा ऑब्जेक्ट जिसमें आर्बिट्रेरी टाइप के फ़ील्ड शामिल होते हैं. अतिरिक्त फ़ील्ड "@type" में, टाइप की पहचान करने वाला यूआरआई होता है. उदाहरण: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

अगर वैल्यू false है, तो इसका मतलब है कि कार्रवाई अब भी चल रही है. अगर true है, तो कार्रवाई पूरी हो गई है और error या response उपलब्ध है.

यूनियन फ़ील्ड result. कार्रवाई का नतीजा, जो कोई error या मान्य response हो सकता है. अगर done == false है, तो error या response में से कोई भी वैल्यू सेट नहीं होती. अगर done == true है, तो error या response में से किसी एक को सेट किया जा सकता है. ऐसा हो सकता है कि कुछ सेवाएं नतीजे न दिखा पाएं. result इनमें से सिर्फ़ एक हो सकता है:
error

object (Status)

कार्रवाई न हो पाने या रद्द करने की स्थिति में, कार्रवाई का नतीजा.

response

object

कार्रवाई का सामान्य, सफल रिस्पॉन्स. अगर ओरिजनल तरीके से कोई डेटा नहीं मिलता है जैसे कि Delete, तो रिस्पॉन्स google.protobuf.Empty होगा. अगर मूल तरीका स्टैंडर्ड Get/Create/Update है, तो जवाब संसाधन होना चाहिए. दूसरे तरीकों के लिए, जवाब XxxResponse टाइप होना चाहिए, जिसमें Xxx मूल तरीके का नाम है. उदाहरण के लिए, अगर मूल तरीके का नाम TakeSnapshot() है, तो अनुमानित रिस्पॉन्स टाइप TakeSnapshotResponse होता है.

ऐसा ऑब्जेक्ट जिसमें आर्बिट्रेरी टाइप के फ़ील्ड शामिल होते हैं. अतिरिक्त फ़ील्ड "@type" में, टाइप की पहचान करने वाला यूआरआई होता है. उदाहरण: { "id": 1234, "@type": "types.example.com/standard/id" }.

स्थिति

Status टाइप, लॉजिकल एरर मॉडल के बारे में बताता है, जो अलग-अलग प्रोग्रामिंग एनवायरमेंट के लिए सही होता है. इनमें REST API और RPC एपीआई शामिल हैं. इसका इस्तेमाल gRPC करता है. हर Status मैसेज में डेटा के तीन हिस्से होते हैं: गड़बड़ी का कोड, गड़बड़ी का मैसेज, और गड़बड़ी की जानकारी.

एपीआई डिज़ाइन गाइड में, आपको गड़बड़ी वाले इस मॉडल और इसके साथ काम करने के तरीके के बारे में ज़्यादा जानकारी मिल सकती है.

JSON के काेड में दिखाना
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
फ़ील्ड
code

integer

स्टेटस कोड, जो google.rpc.Code की enum वैल्यू होनी चाहिए.

message

string

डेवलपर को भेजा जाने वाला गड़बड़ी का मैसेज, जो अंग्रेज़ी में होना चाहिए. उपयोगकर्ता को दिखने वाली गड़बड़ी के किसी भी मैसेज को स्थानीय भाषा में लिखा जाना चाहिए और google.rpc.Status.details फ़ील्ड में भेजा जाना चाहिए या क्लाइंट की ओर से स्थानीय भाषा में भेजा जाना चाहिए.

details[]

object

उन मैसेज की सूची जिनमें गड़बड़ी की जानकारी होती है. एपीआई के इस्तेमाल के लिए, मैसेज के टाइप का एक सामान्य सेट मौजूद है.

ऐसा ऑब्जेक्ट जिसमें आर्बिट्रेरी टाइप के फ़ील्ड शामिल होते हैं. अतिरिक्त फ़ील्ड "@type" में, टाइप की पहचान करने वाला यूआरआई होता है. उदाहरण: { "id": 1234, "@type": "types.example.com/standard/id" }.