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

कार्रवाइयों का एलान करना में बताया गया है कि जब कोई उपयोगकर्ता इन-ऐप्लिकेशन ऐक्शन से इंटरैक्ट करता है, तो 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 की ओर से आपकी सेवा के लिए एक एचटीटीपी अनुरोध जारी किया जाएगा, जिसमें पुष्टि की प्रक्रिया को रिकॉर्ड किया जाएगा. आपकी सेवा को 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 उपयोगकर्ता को बताएगा कि कार्रवाई पूरी नहीं हो सकी. साथ ही, उपयोगकर्ता को ईमेल में दिए गए दूसरे निर्देशों का पालन करना होगा.

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