ওয়েব অ্যাপস

আপনি যদি একটি স্ক্রিপ্টের জন্য একটি ব্যবহারকারী ইন্টারফেস তৈরি করেন, আপনি একটি ওয়েব অ্যাপ হিসাবে স্ক্রিপ্ট প্রকাশ করতে পারেন। উদাহরণস্বরূপ, একটি স্ক্রিপ্ট যা ব্যবহারকারীদের একটি সমর্থন দলের সদস্যদের সাথে অ্যাপয়েন্টমেন্টের সময় নির্ধারণ করতে দেয় তা একটি ওয়েব অ্যাপ হিসাবে উপস্থাপন করা হবে যাতে ব্যবহারকারীরা তাদের ব্রাউজার থেকে সরাসরি এটি অ্যাক্সেস করতে পারে।

Google Workspace অ্যাপ্লিকেশনের সাথে আবদ্ধ স্বতন্ত্র স্ক্রিপ্ট এবং স্ক্রিপ্ট উভয়ই ওয়েব অ্যাপে পরিণত হতে পারে, যতক্ষণ না তারা নীচের প্রয়োজনীয়তাগুলি পূরণ করে।

ওয়েব অ্যাপের জন্য প্রয়োজনীয়তা

একটি স্ক্রিপ্ট একটি ওয়েব অ্যাপ হিসাবে প্রকাশ করা যেতে পারে যদি এটি এই প্রয়োজনীয়তাগুলি পূরণ করে:

পরামিতি অনুরোধ

যখন কোনো ব্যবহারকারী কোনো অ্যাপে যান বা কোনো প্রোগ্রাম অ্যাপটিকে একটি HTTP GET অনুরোধ পাঠান, তখন Apps Script doGet(e) ফাংশন চালায়। যখন একটি প্রোগ্রাম অ্যাপটিকে একটি HTTP POST অনুরোধ পাঠায়, তখন Apps Script এর পরিবর্তে doPost(e) চালায়। উভয় ক্ষেত্রেই, e আর্গুমেন্ট একটি ইভেন্ট প্যারামিটারকে উপস্থাপন করে যাতে যেকোনো অনুরোধের প্যারামিটার সম্পর্কে তথ্য থাকতে পারে। ইভেন্ট অবজেক্টের গঠন নীচের টেবিলে দেখানো হয়েছে:

ক্ষেত্র
e.queryString

URL-এর ক্যোয়ারী স্ট্রিং অংশের মান, অথবা যদি কোনো কোয়েরি স্ট্রিং নির্দিষ্ট করা না থাকে তাহলে null

name=alice&n=1&n=2
e.parameter

কী/মান জোড়ার একটি বস্তু যা অনুরোধের প্যারামিটারের সাথে মিলে যায়। একাধিক মান আছে এমন প্যারামিটারগুলির জন্য শুধুমাত্র প্রথম মানটি ফেরত দেওয়া হয়।

{"name": "alice", "n": "1"}
e.parameters

e.parameter এর অনুরূপ একটি বস্তু, কিন্তু প্রতিটি কী-এর জন্য মানের অ্যারে সহ

{"name": ["alice"], "n": ["1", "2"]}
e.pathInfo

/exec বা /dev এর পরে URL পাথ। উদাহরণস্বরূপ, যদি URL পাথ /exec/hello এ শেষ হয়, তাহলে পাথের তথ্য হল hello

e.contextPath ব্যবহার করা হয় না, সবসময় খালি স্ট্রিং.
e.contentLength

POST অনুরোধের জন্য অনুরোধের অংশের দৈর্ঘ্য বা GET অনুরোধের জন্য -1

332
e.postData.length

e.contentLength এর মতই

332
e.postData.type

POST বডির MIME প্রকার

text/csv
e.postData.contents

POST মূল অংশের বিষয়বস্তু পাঠ্য

Alice,21
e.postData.name

সর্বদা মান "পোস্টডেটা"

postData

উদাহরণ স্বরূপ, আপনি নিচের মত ইউআরএলে username এবং age মত প্যারামিটার পাস করতে পারেন:

https://script.google.com/.../exec?username=jsmith&age=21

তারপর, আপনি এই মত পরামিতি প্রদর্শন করতে পারেন:

function doGet(e) {
  var params = JSON.stringify(e);
  return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}

উপরের উদাহরণে, doGet(e) নিম্নলিখিত আউটপুট প্রদান করে:

{
  "queryString": "username=jsmith&age=21",
  "parameter": {
    "username": "jsmith",
    "age": "21"
  },
  "contextPath": "",
  "parameters": {
    "username": [
      "jsmith"
    ],
    "age": [
      "21"
    ]
  },
  "contentLength": -1
}

একটি ওয়েব অ্যাপ হিসাবে একটি স্ক্রিপ্ট স্থাপন করুন

একটি ওয়েব অ্যাপ হিসাবে একটি স্ক্রিপ্ট স্থাপন করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. স্ক্রিপ্ট প্রকল্পের উপরের ডানদিকে, Deploy > New deployment এ ক্লিক করুন।
  2. "প্রকার নির্বাচন করুন" এর পাশে, স্থাপনার প্রকার সক্ষম করুন > ওয়েব অ্যাপে ক্লিক করুন।
  3. "ডিপ্লয়মেন্ট কনফিগারেশন" এর অধীনে ক্ষেত্রগুলিতে আপনার ওয়েব অ্যাপ সম্পর্কে তথ্য লিখুন।
  4. ডিপ্লোয় ক্লিক করুন।

আপনি যাদেরকে আপনার অ্যাপ ব্যবহার করতে চান তাদের সাথে আপনি ওয়েব অ্যাপের URL শেয়ার করতে পারেন, যদি আপনি তাদের অ্যাক্সেস মঞ্জুর করেন।

একটি ওয়েব অ্যাপ স্থাপনার পরীক্ষা করুন

একটি ওয়েব অ্যাপ হিসাবে আপনার স্ক্রিপ্ট পরীক্ষা করতে, নীচের পদক্ষেপগুলি অনুসরণ করুন:

  1. স্ক্রিপ্ট প্রকল্পের উপরের ডানদিকে, Deploy > Test deployments এ ক্লিক করুন।
  2. "প্রকার নির্বাচন করুন" এর পাশে, স্থাপনার প্রকার সক্ষম করুন > ওয়েব অ্যাপে ক্লিক করুন।
  3. ওয়েব অ্যাপ URL-এর অধীনে, অনুলিপি ক্লিক করুন।
  4. আপনার ব্রাউজারে URL পেস্ট করুন এবং আপনার ওয়েব অ্যাপ পরীক্ষা করুন।

    এই URLটি /dev এ শেষ হয় এবং শুধুমাত্র সেই ব্যবহারকারীদের দ্বারা অ্যাক্সেস করা যেতে পারে যাদের স্ক্রিপ্টে সম্পাদনার অ্যাক্সেস রয়েছে। অ্যাপের এই দৃষ্টান্তটি সর্বদা সাম্প্রতিক সংরক্ষিত কোড চালায় এবং এটি শুধুমাত্র বিকাশের সময় পরীক্ষা করার উদ্দেশ্যে।

অনুমতি

আপনি কীভাবে অ্যাপটি কার্যকর করতে চান তার উপর নির্ভর করে একটি ওয়েব অ্যাপের অনুমতি আলাদা হয়:

  • আমার মতো অ্যাপটি এক্সিকিউট করুন —এই ক্ষেত্রে, স্ক্রিপ্টটি সর্বদা আপনার মতোই এক্সিকিউট করে, স্ক্রিপ্টের মালিক, যেই ওয়েব অ্যাপ অ্যাক্সেস করুক না কেন।
  • ব্যবহারকারী ওয়েব অ্যাপ অ্যাক্সেস করার জন্য অ্যাপটিকে এক্সিকিউট করুন —এই ক্ষেত্রে, স্ক্রিপ্টটি ওয়েব অ্যাপ ব্যবহার করে সক্রিয় ব্যবহারকারীর পরিচয়ের অধীনে চলে। এই অনুমতি পদ্ধতির কারণে যখন ব্যবহারকারী অ্যাক্সেস অনুমোদন করে তখন ওয়েব অ্যাপটিকে স্ক্রিপ্টের মালিকের ইমেল দেখায়।

Google Sites-এ আপনার ওয়েব অ্যাপ এম্বেড করুন

Google Sites-এ একটি ওয়েব অ্যাপ এম্বেড করার জন্য, এটি প্রথমে স্থাপন করা আবশ্যক। Deploy ডায়ালগ থেকে আপনার ডিপ্লোয়েড ইউআরএলও দরকার।

একটি সাইট পৃষ্ঠায় একটি ওয়েব অ্যাপ এম্বেড করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. সাইট পৃষ্ঠা খুলুন যেখানে আপনি ওয়েব অ্যাপ যোগ করতে চান।
  2. সন্নিবেশ > এম্বেড URL নির্বাচন করুন।
  3. ওয়েব অ্যাপের URL-এ আটকান এবং তারপর যোগ করুন-এ ক্লিক করুন।

ওয়েব অ্যাপটি পৃষ্ঠার প্রিভিউতে একটি ফ্রেমে প্রদর্শিত হয়। আপনি যখন পৃষ্ঠা প্রকাশ করেন, তখন আপনার সাইটের দর্শকদের ওয়েব অ্যাপটি স্বাভাবিকভাবে কার্যকর করার আগে অনুমোদন করতে হতে পারে। অননুমোদিত ওয়েব অ্যাপস ব্যবহারকারীর কাছে অনুমোদনের প্রম্পট উপস্থাপন করে।

ওয়েব অ্যাপস এবং ব্রাউজার ইতিহাস

একটি Apps Script ওয়েব অ্যাপ একটি মাল্টি-পেজ অ্যাপ্লিকেশান সিমুলেট করা বা ইউআরএল প্যারামিটারের মাধ্যমে নিয়ন্ত্রিত ডায়নামিক UI সহ একটি থাকা বাঞ্ছনীয়। এটি ভালভাবে করার জন্য, আপনি অ্যাপের UI বা পৃষ্ঠার প্রতিনিধিত্ব করার জন্য একটি রাষ্ট্রীয় বস্তুকে সংজ্ঞায়িত করতে পারেন এবং ব্যবহারকারী আপনার অ্যাপটি নেভিগেট করার সময় রাষ্ট্রটিকে ব্রাউজার ইতিহাসে ঠেলে দিতে পারেন। আপনি ইতিহাসের ইভেন্টগুলিও শুনতে পারেন যাতে আপনার ওয়েব অ্যাপ সঠিক UI প্রদর্শন করে যখন ব্যবহারকারী ব্রাউজার বোতামগুলির সাথে সামনে পিছনে নেভিগেট করে। লোডের সময় ইউআরএল প্যারামিটারগুলি জিজ্ঞাসা করে, আপনি আপনার অ্যাপটিকে গতিশীলভাবে সেই প্যারামিটারগুলির উপর ভিত্তি করে এর UI তৈরি করতে পারেন, ব্যবহারকারীকে একটি নির্দিষ্ট অবস্থায় অ্যাপটি শুরু করার অনুমতি দেয়।

Apps Script দুটি অ্যাসিঙ্ক্রোনাস ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্ট API প্রদান করে যা ব্রাউজারের ইতিহাসের সাথে সংযুক্ত ওয়েব অ্যাপ তৈরি করতে সহায়তা করে:

  • google.script.history ব্রাউজারের ইতিহাস পরিবর্তনের গতিশীল প্রতিক্রিয়ার অনুমতি দেওয়ার পদ্ধতিগুলি প্রদান করে৷ এর মধ্যে রয়েছে: ব্রাউজার ইতিহাসে পুশিং স্টেটস (সাধারণ অবজেক্ট যা আপনি সংজ্ঞায়িত করতে পারেন), ইতিহাসের স্ট্যাকের শীর্ষস্থান প্রতিস্থাপন করা এবং ইতিহাস পরিবর্তনের প্রতিক্রিয়া জানাতে একটি শ্রোতা কলব্যাক ফাংশন সেট করা।

  • google.script.url বর্তমান পৃষ্ঠার URL প্যারামিটার এবং URL খণ্ড পুনরুদ্ধার করার উপায় প্রদান করে, যদি সেগুলি উপস্থিত থাকে।

এই ইতিহাস APIগুলি শুধুমাত্র ওয়েব অ্যাপগুলিতে উপলব্ধ৷ এগুলি সাইডবার, ডায়ালগ বা অ্যাড-অনগুলির জন্য সমর্থিত নয়৷ এই কার্যকারিতাটি Google সাইটগুলিতে এমবেড করা ওয়েব অ্যাপগুলিতে ব্যবহারের জন্যও সুপারিশ করা হয় না৷