कार्रवाई के अनुरोधों को हैंडल करना

कार्रवाइयों का एलान करना में बताया गया है कि जब कोई उपयोगकर्ता इन-ऐप्लिकेशन ऐक्शन से इंटरैक्ट करता है, तो Google उस ऐक्शन में बताए गए यूआरएल पर एक एचटीटीपी अनुरोध भेजता है.

नीचे दिए गए उदाहरण में, खर्च की रिपोर्ट के बारे में ईमेल में ConfirmAction बटन जोड़ा गया है:

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "potentialAction": {
    "@type": "ConfirmAction",
    "name": "Approve Expense",
    "handler": {
      "@type": "HttpActionHandler",
      "url": "https://myexpenses.com/approve?expenseId=abc123"
    }
  },
  "description": "Approval request for John's $10.13 expense for office supplies"
}
</script>

माइक्रोडेटा

<div itemscope itemtype="http://schema.org/EmailMessage">
  <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ConfirmAction">
    <meta itemprop="name" content="Approve Expense"/>
    <div itemprop="handler" itemscope itemtype="http://schema.org/HttpActionHandler">
      <link itemprop="url" href="https://myexpenses.com/approve?expenseId=abc123"/>
    </div>
  </div>
  <meta itemprop="description" content="Approval request for John's $10.13 expense for office supplies"/>
</div>

जब उपयोगकर्ता बटन पर क्लिक करता है, तो Google से आपकी सेवा के लिए एक HTTP अनुरोध जारी किया जाएगा. इसमें पुष्टि की जानकारी रिकॉर्ड की जाएगी. आपकी सेवा को Google से यह एचटीटीपी अनुरोध मिलता है:

POST /approve?expenseId=abc123 HTTP/1.1
Host: your-domain.com
Authorization: Bearer AbCdEf123456
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, like Gecko; Gmail Actions)

confirmed=Approved

इस पेज के बाकी हिस्से में बताया गया है कि कार्रवाई को सही तरीके से मैनेज करने के लिए, https://your-domain.com/approve?expenseId=abc123 पर मौजूद सेवा को क्या करना होगा. इसमें इस तरह का कॉन्टेंट शामिल है:

  • अनुरोध की पुष्टि करना
  • पेलोड को प्रोसेस करना
  • रिस्पॉन्स कोड दिखाना

पहला चरण: अनुरोध की पुष्टि करना

https://your-domain.com/approve?expenseId=abc123 की सेवा को यह देखना चाहिए:

सभी ऐक्शन अनुरोधों के लिए उपयोगकर्ता एजेंट Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, like Gecko; Gmail Actions) है.

सभी जांचों के पास होने पर, सेवा अगले चरण पर जा सकती है.

दूसरा चरण: कार्रवाई को प्रोसेस करना

सेवा को यूआरएल पैरामीटर में बताई गई कार्रवाई के साथ-साथ, उपयोगकर्ता से इकट्ठा की गई अतिरिक्त जानकारी के हिसाब से कार्रवाई करनी चाहिए.

उपयोगकर्ता से मिली अतिरिक्त जानकारी, अनुरोध के मुख्य हिस्से में मौजूद होती है. साथ ही, इसे x-www-form-urlecoded कोडिंग का इस्तेमाल करके कोड में बदला जाता है. जानकारी उन प्रॉपर्टी में सेट की जाती है जिनके नाम, ऐक्शन की प्रॉपर्टी से मेल खाते हैं. उदाहरण के लिए, ConfirmAction में प्रॉपर्टी confirmed है.

तीसरा चरण: रिस्पॉन्स कोड दिखाना

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

उत्तर कोड ट्रीटमेंट
400 (गलत अनुरोध) Google, कार्रवाई को पूरा नहीं कर पाएगा.
401 (अनुमति नहीं है) Google, कार्रवाई को पूरा नहीं कर पाएगा.
404 (पेज नहीं मिला) Google, कार्रवाई को पूरा नहीं कर पाएगा.
408 (अनुरोध पूरा होने में लगने वाला समय खत्म हो गया) Google कुछ देर बाद फिर से कोशिश करेगा.

अगर कार्रवाई पूरी नहीं हो पाती है, तो Google उपयोगकर्ता को बताएगा कि कार्रवाई पूरी नहीं हो पाई है. साथ ही, उपयोगकर्ता को ईमेल में दिए गए अन्य निर्देशों का पालन करने के लिए कहा जाएगा.

इसके बारे में और पढ़ें