google.script.run
হল একটি অ্যাসিঙ্ক্রোনাস ক্লায়েন্ট-সাইড JavaScript API যা HTML-পরিষেবা পৃষ্ঠাগুলিতে উপলব্ধ যা সার্ভার-সাইড অ্যাপস স্ক্রিপ্ট ফাংশনগুলিকে কল করতে পারে৷ ক্লায়েন্ট-সাইড কোড থেকে Google ডক্স, পত্রক বা ফর্মগুলিতে ডায়ালগ বা সাইডবারগুলির সাথে ইন্টারঅ্যাক্ট করতে, google.script.host
ব্যবহার করুন৷ আরও তথ্যের জন্য, HTML পরিষেবাতে সার্ভার ফাংশনগুলির সাথে যোগাযোগের জন্য গাইডটি দেখুন৷
পদ্ধতি
পদ্ধতি | রিটার্ন টাইপ | সংক্ষিপ্ত বিবরণ |
---|---|---|
myFunction(...) (যেকোনো সার্ভার-সাইড ফাংশন) | void | সংশ্লিষ্ট নামের সাথে সার্ভার-সাইড অ্যাপস স্ক্রিপ্ট ফাংশন চালায়। |
withFailureHandler(function) | google.script.run | সার্ভার-সাইড ফাংশন একটি ব্যতিক্রম নিক্ষেপ করলে চালানোর জন্য একটি কলব্যাক ফাংশন সেট করে। |
withSuccessHandler(function) | google.script.run | সার্ভার-সাইড ফাংশন সফলভাবে রিটার্ন করলে চালানোর জন্য একটি কলব্যাক ফাংশন সেট করে। |
withUserObject(object) | google.script.run | সাফল্য এবং ব্যর্থতা হ্যান্ডলারদের কাছে দ্বিতীয় প্যারামিটার হিসাবে পাস করার জন্য একটি বস্তু সেট করে। |
বিস্তারিত ডকুমেন্টেশন
myFunction(...)
(যেকোনো সার্ভার-সাইড ফাংশন)
সংশ্লিষ্ট নামের সাথে সার্ভার-সাইড অ্যাপস স্ক্রিপ্ট ফাংশন চালায়।
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>
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
... | বেশিরভাগ প্রকার আইনী, কিন্তু form ছাড়াও Date , Function বা DOM উপাদান নয়; বিবরণ দেখুন | আইনি পরামিতি হল জাভাস্ক্রিপ্ট আদিম যেমন একটি Number , Boolean , String , বা null , সেইসাথে জাভাস্ক্রিপ্ট অবজেক্ট এবং অ্যারে যা আদিম, বস্তু এবং অ্যারে দ্বারা গঠিত। পৃষ্ঠার মধ্যে একটি form উপাদানও একটি প্যারামিটার হিসাবে বৈধ, তবে এটি অবশ্যই ফাংশনের একমাত্র প্যারামিটার হতে হবে৷ আপনি যদি কোনো Date , Function , একটি form ছাড়াও DOM উপাদান পাস করার চেষ্টা করেন, বা অবজেক্ট বা অ্যারের মধ্যে নিষিদ্ধ প্রকারগুলি সহ অন্যান্য নিষিদ্ধ টাইপ পাস করার চেষ্টা করেন তাহলে অনুরোধগুলি ব্যর্থ হয়৷ যে বস্তুগুলি বৃত্তাকার রেফারেন্স তৈরি করে সেগুলিও ব্যর্থ হবে এবং অ্যারেগুলির মধ্যে অনির্ধারিত ক্ষেত্রগুলি null হয়ে যাবে। নোট করুন যে সার্ভারে পাস করা একটি বস্তু আসলটির একটি অনুলিপি হয়ে যায়। যদি একটি সার্ভার ফাংশন একটি বস্তু গ্রহণ করে এবং তার বৈশিষ্ট্য পরিবর্তন করে, ক্লায়েন্টের বৈশিষ্ট্যগুলি প্রভাবিত হয় না। |
প্রত্যাবর্তন
void
— এই পদ্ধতিটি অ্যাসিঙ্ক্রোনাস এবং সরাসরি ফিরে আসে না; যাইহোক, সার্ভার-সাইড ফাংশন ক্লায়েন্টকে একটি মান ফেরত দিতে পারে একটি সফল হ্যান্ডলারের কাছে পাস করা একটি প্যারামিটার হিসাবে; এছাড়াও, প্রত্যাবর্তনের প্রকারগুলি প্যারামিটার প্রকারের মতো একই বিধিনিষেধের সাপেক্ষে, একটি form
উপাদানটি একটি আইনি রিটার্ন প্রকার নয়
withFailureHandler(function)
সার্ভার-সাইড ফাংশন একটি ব্যতিক্রম নিক্ষেপ করলে চালানোর জন্য একটি কলব্যাক ফাংশন সেট করে। Error
অবজেক্টটি প্রথম আর্গুমেন্ট হিসেবে ফাংশনে পাস করা হয় এবং ইউজার অবজেক্ট (যদি থাকে) দ্বিতীয় আর্গুমেন্ট হিসেবে পাস করা হয়। একটি ব্যর্থ হ্যান্ডলার ছাড়া, ব্যর্থতা জাভাস্ক্রিপ্ট কনসোলে লগ ইন করা হয়. এটিকে ওভাররাইড করতে, 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>
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
function | Function | একটি ক্লায়েন্ট-সাইড কলব্যাক ফাংশন চালানোর জন্য যদি সার্ভার-সাইড ফাংশন একটি ব্যতিক্রম নিক্ষেপ করে; Error অবজেক্টটি প্রথম আর্গুমেন্ট হিসেবে ফাংশনে পাস করা হয় এবং ইউজার অবজেক্ট (যদি থাকে) দ্বিতীয় আর্গুমেন্ট হিসেবে পাস করা হয় |
প্রত্যাবর্তন
google.script.run
— এই "স্ক্রিপ্ট রানার," চেইন করার জন্য
withSuccessHandler(function)
সার্ভার-সাইড ফাংশন সফলভাবে রিটার্ন করলে চালানোর জন্য একটি কলব্যাক ফাংশন সেট করে। সার্ভারের রিটার্ন মান প্রথম আর্গুমেন্ট হিসেবে ফাংশনে পাস করা হয় এবং ইউজার অবজেক্ট (যদি থাকে) দ্বিতীয় আর্গুমেন্ট হিসেবে পাস করা হয়।
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>
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
function | Function | একটি ক্লায়েন্ট-সাইড কলব্যাক ফাংশন চালানোর জন্য যদি সার্ভার-সাইড ফাংশন সফলভাবে ফিরে আসে; সার্ভারের রিটার্ন মানটি প্রথম আর্গুমেন্ট হিসাবে ফাংশনে পাস করা হয় এবং ব্যবহারকারীর অবজেক্ট (যদি থাকে) দ্বিতীয় আর্গুমেন্ট হিসাবে পাস করা হয় |
প্রত্যাবর্তন
google.script.run
— এই "স্ক্রিপ্ট রানার," চেইন করার জন্য
withUserObject(object)
সাফল্য এবং ব্যর্থতা হ্যান্ডলারদের কাছে দ্বিতীয় প্যারামিটার হিসাবে পাস করার জন্য একটি বস্তু সেট করে। এই "ইউজার অবজেক্ট" - 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>
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
object | Object | সাফল্য এবং ব্যর্থতা হ্যান্ডলারদের কাছে দ্বিতীয় প্যারামিটার হিসাবে পাস করার জন্য একটি বস্তু; কারণ ব্যবহারকারীর বস্তু সার্ভারে পাঠানো হয় না, সেগুলি সার্ভার কলের জন্য পরামিতি এবং রিটার্ন মানগুলির উপর বিধিনিষেধ সাপেক্ষে নয়। ব্যবহারকারী অবজেক্ট, তবে, new অপারেটরের সাথে নির্মিত বস্তু হতে পারে না |
প্রত্যাবর্তন
google.script.run
— এই "স্ক্রিপ্ট রানার," চেইন করার জন্য