क्लास google.script.run (क्लाइंट-साइड एपीआई)

google.script.run एक एसिंक्रोनस क्लाइंट-साइड JavaScript API है, जो इसमें उपलब्ध है HTML-सेवा पेज जो सर्वर-साइड Apps Script को कॉल कर सकते हैं फ़ंक्शन. क्लाइंट-साइड से Google Docs, Sheets या Forms में डायलॉग या साइडबार का इस्तेमाल करने के लिए कोड, google.script.host का इस्तेमाल करें. ज़्यादा जानकारी के लिए, देखें सर्वर के फ़ंक्शन के साथ कम्यूनिकेट करने की गाइड HTML सेवा में.

तरीके

तरीकारिटर्न टाइपसंक्षिप्त विवरण
myFunction(...) (कोई भी सर्वर-साइड फ़ंक्शन) void सर्वर साइड के Apps Script फ़ंक्शन को, उससे जुड़े नाम के साथ एक्ज़ीक्यूट करता है.
withFailureHandler(function) google.script.run सर्वर साइड फ़ंक्शन के अपवाद की जानकारी देने पर, यह कॉलबैक फ़ंक्शन सेट करता है.
withSuccessHandler(function) google.script.run सर्वर साइड फ़ंक्शन के सही तरीके से वापस आने पर, यह कॉलबैक फ़ंक्शन सेट करता है.
withUserObject(object) google.script.run किसी ऑब्जेक्ट को दूसरे पैरामीटर के तौर पर, सक्सेस और फ़ेलियर हैंडलर को पास करने के लिए सेट करता है.

विस्तृत दस्तावेज़

myFunction(...) (कोई भी सर्वर-साइड फ़ंक्शन)

सर्वर साइड के Apps Script फ़ंक्शन को, उससे जुड़े नाम के साथ एक्ज़ीक्यूट करता है.

Code.gs

function doGet() {
  return HtmlService.createHtmlOutputFromFile('Index');
}

function doSomething() {
  Logger.log('I was called!');
}

Index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
      google.script.run.doSomething();
    </script>
  </head>
  <body>
  </body>
</html>

पैरामीटर

नामटाइपब्यौरा
...ज़्यादातर टाइप कानूनी हैं, लेकिन Date, Function नहीं, या form के अलावा DOM एलिमेंट; ब्यौरा देखेंकानूनी पैरामीटर JavaScript हैं प्रिमिटिव जैसे कि Number, Boolean, String या null और JavaScript ऑब्जेक्ट और अरै, जो प्रिमिटिव से बने हों, और अरे. पेज में मौजूद कोई form एलिमेंट भी पैरामीटर के तौर पर कानूनी है, लेकिन यह फ़ंक्शन का ही पैरामीटर होना चाहिए. अनुरोध विफल हो सकता है, यदि आप form या अन्य के अलावा Date, Function, DOM एलिमेंट पाबंदी वाला टाइप, जिसमें ऑब्जेक्ट या अरे में पाबंदी वाले टाइप शामिल हैं. सर्कुलर बनाने वाली ऑब्जेक्ट रेफ़रंस भी काम नहीं करेंगे और अरे में तय नहीं किए गए फ़ील्ड null बन जाएंगे. ध्यान दें कि सर्वर को पास किया गया ऑब्जेक्ट, मूल ऑब्जेक्ट की कॉपी बन जाता है. अगर सर्वर फ़ंक्शन को ऑब्जेक्ट है और उसकी प्रॉपर्टी बदल देता है, तो क्लाइंट की प्रॉपर्टी पर कोई असर नहीं पड़ता.

वापसी का टिकट

void — यह तरीका एसिंक्रोनस है और सीधे इसका इस्तेमाल नहीं करता; हालांकि, सर्वर साइड फ़ंक्शन, क्लाइंट को सक्सेस हैंडलर; साथ ही, रिटर्न टाइप पर लागू पैरामीटर टाइप के जैसे प्रतिबंध, लेकिन form एलिमेंट के लिए सामान लौटाने का तरीका


withFailureHandler(function)

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

Code.gs

function doGet() {
  return HtmlService.createHtmlOutputFromFile('Index');
}

function getUnreadEmails() {
  // 'got' instead of 'get' will throw an error.
  return GmailApp.gotInboxUnreadCount();
}

Index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
      function onFailure(error) {
        var div = document.getElementById('output');
        div.innerHTML = "ERROR: " + error.message;
      }

      google.script.run.withFailureHandler(onFailure)
          .getUnreadEmails();
    </script>
  </head>
  <body>
    <div id="output"></div>
  </body>
</html>

पैरामीटर

नामटाइपब्यौरा
functionFunctionएक क्लाइंट-साइड कॉलबैक फ़ंक्शन को चलाएं, अगर सर्वर-साइड फ़ंक्शन कोई अपवाद दिखाता है; यह Error अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऑब्जेक्ट को पहले आर्ग्युमेंट के तौर पर, फ़ंक्शन में पास किया जाता है और उपयोगकर्ता ऑब्जेक्ट (अगर कोई है) को दूसरे आर्ग्युमेंट के तौर पर पास किया जाता है

वापसी का टिकट

google.script.run — यह "स्क्रिप्ट रनर" चेन बनाने के लिए


withSuccessHandler(function)

सर्वर साइड फ़ंक्शन के सही तरीके से वापस आने पर, यह कॉलबैक फ़ंक्शन सेट करता है. सर्वर की रिटर्न वैल्यू को पहले आर्ग्युमेंट के तौर पर, फ़ंक्शन में पास किया जाता है और user ऑब्जेक्ट (अगर कोई है) को दूसरे आर्ग्युमेंट के तौर पर पास किया जाता है.

Code.gs

function doGet() {
  return HtmlService.createHtmlOutputFromFile('Index');
}

function getUnreadEmails() {
  return GmailApp.getInboxUnreadCount();
}

Index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
      function onSuccess(numUnread) {
        var div = document.getElementById('output');
        div.innerHTML = 'You have ' + numUnread
            + ' unread messages in your Gmail inbox.';
      }

      google.script.run.withSuccessHandler(onSuccess)
          .getUnreadEmails();
    </script>
  </head>
  <body>
    <div id="output"></div>
  </body>
</html>

पैरामीटर

नामटाइपब्यौरा
functionFunctionएक क्लाइंट-साइड कॉलबैक फ़ंक्शन को सर्वर-साइड फ़ंक्शन के सही तरीके से वापस आने पर, इसे चलाया जाता है; सर्वर का रिटर्न मान फ़ंक्शन को पहले आर्ग्युमेंट के तौर पर इस्तेमाल करें और उपयोगकर्ता ऑब्जेक्ट (अगर कोई हो) को दूसरे तर्क के तौर पर पास किया जाता है

वापसी का टिकट

google.script.run — यह "स्क्रिप्ट रनर" चेन बनाने के लिए


withUserObject(object)

किसी ऑब्जेक्ट को दूसरे पैरामीटर के तौर पर, सक्सेस और फ़ेलियर हैंडलर को पास करने के लिए सेट करता है. यह "उपयोगकर्ता object&quot; — उपयोगकर्ताओं के लिए User क्लास — इसकी मदद से कॉलबैक किया जा सकता है फ़ंक्शन उस कॉन्टेक्स्ट में जवाब देते हैं जिसमें क्लाइंट ने सर्वर से संपर्क किया था. क्योंकि यूज़र ऑब्जेक्ट सर्वर को नहीं भेजे जाते, वे पैरामीटर और रिटर्न पर प्रतिबंध के अधीन नहीं होते सर्वर कॉल के लिए वैल्यू. हालांकि, उपयोगकर्ता ऑब्जेक्ट को ऑब्जेक्ट नहीं बनाया जा सकता new ऑपरेटर के साथ बनाया गया.

Code.gs

function doGet() {
  return HtmlService.createHtmlOutputFromFile('Index');
}

function getEmail() {
  return Session.getActiveUser().getEmail();
}

Index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
      function updateButton(email, button) {
        button.value = 'Clicked by ' + email;
      }
    </script>
  </head>
  <body>
    <input type="button" value="Not Clicked"
      onclick="google.script.run
          .withSuccessHandler(updateButton)
          .withUserObject(this)
          .getEmail()" />
    <input type="button" value="Not Clicked"
      onclick="google.script.run
          .withSuccessHandler(updateButton)
          .withUserObject(this)
          .getEmail()" />
  </body>
</html>

पैरामीटर

नामटाइपब्यौरा
objectObjectदूसरे पैरामीटर के रूप में पास किया जाने वाला एक ऑब्जेक्ट सफलता और विफलता हैंडलर; क्योंकि उपयोगकर्ता ऑब्जेक्ट सर्वर पर नहीं भेजे जाते, वे पैरामीटर पर प्रतिबंध के अधीन और इसके लिए मान वापस करता है सर्वर कॉल सबमिट करें. हालांकि, उपयोगकर्ता ऑब्जेक्ट को बनाया नहीं जा सकता new ऑपरेटर के साथ

वापसी का टिकट

google.script.run — यह "स्क्रिप्ट रनर" चेन बनाने के लिए