Class ScriptApp

স্ক্রিপ্ট অ্যাপ

স্ক্রিপ্ট প্রকাশনা এবং ট্রিগারগুলি অ্যাক্সেস এবং ম্যানিপুলেট করুন। এই ক্লাসটি ব্যবহারকারীদের স্ক্রিপ্ট ট্রিগার তৈরি করতে এবং একটি পরিষেবা হিসাবে স্ক্রিপ্ট প্রকাশকে নিয়ন্ত্রণ করতে দেয়।

বৈশিষ্ট্য

সম্পত্তি টাইপ বর্ণনা
Auth Mode Auth Mode একটি গণনা যা শনাক্ত করে যে অনুমোদিত পরিষেবাগুলির কোন বিভাগগুলি অ্যাপস স্ক্রিপ্ট একটি ট্রিগার ফাংশনের মাধ্যমে কার্যকর করতে সক্ষম।
Authorization Status Authorization Status একটি স্ক্রিপ্টের অনুমোদনের অবস্থা নির্দেশ করে একটি গণনা৷
Event Type Event Type ট্রিগার হওয়া ইভেন্টের ধরন নির্দেশ করে একটি গণনা।
Installation Source Installation Source অ্যাড-অন হিসাবে ব্যবহারকারীর কাছে স্ক্রিপ্টটি কীভাবে ইনস্টল করা হয়েছিল তা নির্দেশ করে একটি গণনা।
Trigger Source Trigger Source ইভেন্টের উৎস নির্দেশ করে এমন একটি গণনা যা ট্রিগারটিকে ফায়ার করে।
Week Day Weekday সপ্তাহের দিনগুলির প্রতিনিধিত্বকারী একটি গণনা৷

পদ্ধতি

পদ্ধতি রিটার্ন টাইপ সংক্ষিপ্ত বিবরণ
delete Trigger(trigger) void প্রদত্ত ট্রিগারটি সরিয়ে দেয় যাতে এটি আর চলে না।
get Authorization Info(authMode) Authorization Info ব্যবহারকারীর এক বা একাধিক পরিষেবা ব্যবহার করার জন্য এই স্ক্রিপ্টটিকে অনুমোদন করতে হবে কিনা এবং একটি অনুমোদন ডায়ালগের জন্য URL প্রদান করতে হবে কিনা তা নির্ধারণ করতে একটি বস্তু ব্যবহার করা হয়৷
get Identity Token() String কার্যকর ব্যবহারকারীর জন্য একটি ওপেন আইডি কানেক্ট আইডেন্টিটি টোকেন পায়, যদি openid সুযোগ মঞ্জুর করা হয়।
get Installation Source() Installation Source একটি enum মান প্রদান করে যা নির্দেশ করে যে স্ক্রিপ্টটি বর্তমান ব্যবহারকারীর জন্য অ্যাড-অন হিসাবে কীভাবে ইনস্টল করা হয়েছে (উদাহরণস্বরূপ, ব্যবহারকারী এটি Chrome ওয়েব স্টোরের মাধ্যমে ব্যক্তিগতভাবে ইনস্টল করেছেন কিনা, বা একজন ডোমেন প্রশাসক এটি সমস্ত ব্যবহারকারীর জন্য ইনস্টল করেছেন কিনা)৷
get OAuth Token() String কার্যকর ব্যবহারকারীর জন্য OAuth 2.0 অ্যাক্সেস টোকেন পায়।
get Project Triggers() Trigger[] বর্তমান প্রকল্প এবং বর্তমান ব্যবহারকারীর সাথে যুক্ত সমস্ত ইনস্টলযোগ্য ট্রিগার পায়।
get Script Id() String স্ক্রিপ্ট প্রকল্পের অনন্য আইডি পায়।
get Service() Service একটি ওয়েব অ্যাপ হিসাবে স্ক্রিপ্ট প্রকাশ নিয়ন্ত্রণ করতে ব্যবহৃত একটি বস্তু পায়।
get User Triggers(document) Trigger[] এই স্ক্রিপ্ট বা অ্যাড-অনের জন্য প্রদত্ত নথিতে এই ব্যবহারকারীর মালিকানাধীন সমস্ত ইনস্টলযোগ্য ট্রিগার পায়৷
get User Triggers(form) Trigger[] এই স্ক্রিপ্ট বা অ্যাড-অনের জন্য প্রদত্ত ফর্মে এই ব্যবহারকারীর মালিকানাধীন সমস্ত ইনস্টলযোগ্য ট্রিগার পায়৷
get User Triggers(spreadsheet) Trigger[] প্রদত্ত স্প্রেডশীটে এই ব্যবহারকারীর মালিকানাধীন সমস্ত ইনস্টলযোগ্য ট্রিগার পায়, শুধুমাত্র এই স্ক্রিপ্ট বা অ্যাড-অনের জন্য।
invalidate Auth() void বর্তমান স্ক্রিপ্টটি কার্যকর করার জন্য কার্যকর ব্যবহারকারীর অনুমোদন বাতিল করে।
new State Token() State Token Builder একটি কলব্যাক API (যেমন একটি OAuth ফ্লো) ব্যবহার করা যেতে পারে এমন একটি রাজ্য টোকেনের জন্য একটি নির্মাতা তৈরি করে৷
new Trigger(functionName) Trigger Builder একটি ইন্সটলযোগ্য ট্রিগার তৈরি করার প্রক্রিয়া শুরু করে যেটি, যখন ফায়ার করা হয়, একটি প্রদত্ত ফাংশনকে কল করে।

বিস্তারিত ডকুমেন্টেশন

delete Trigger(trigger)

প্রদত্ত ট্রিগারটি সরিয়ে দেয় যাতে এটি আর চলে না।

// Deletes all triggers in the current project.
const triggers = ScriptApp.getProjectTriggers();
for (let i = 0; i < triggers.length; i++) {
  ScriptApp.deleteTrigger(triggers[i]);
}

পরামিতি

নাম টাইপ বর্ণনা
trigger Trigger মুছে ফেলার ট্রিগার।

অনুমোদন

যে স্ক্রিপ্টগুলি এই পদ্ধতিটি ব্যবহার করে তাদের নিম্নলিখিত এক বা একাধিক সুযোগের সাথে অনুমোদনের প্রয়োজন হয়:

  • https://www.googleapis.com/auth/script.scriptapp

get Authorization Info(authMode)

ব্যবহারকারীর এক বা একাধিক পরিষেবা ব্যবহার করার জন্য এই স্ক্রিপ্টটিকে অনুমোদন করতে হবে কিনা এবং একটি অনুমোদন ডায়ালগের জন্য URL প্রদান করতে হবে কিনা তা নির্ধারণ করতে একটি বস্তু ব্যবহার করা হয়৷ যদি স্ক্রিপ্টটি একটি অ্যাড-অন হিসাবে প্রকাশিত হয় যা ইনস্টলযোগ্য ট্রিগার ব্যবহার করে, এই তথ্যটি কোডের বিভাগগুলিতে অ্যাক্সেস নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে যার জন্য ব্যবহারকারীর প্রয়োজনীয় অনুমোদনের অভাব রয়েছে৷ বিকল্পভাবে, অ্যাড-অন ব্যবহারকারীকে সমস্যা সমাধানের জন্য অনুমোদন ডায়ালগের URL খুলতে বলতে পারে।

var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL);
status = authInfo.getAuthorizationStatus();
url = authInfo.getAuthorizationUrl();

পরামিতি

নাম টাইপ বর্ণনা
auth Mode Auth Mode অনুমোদনের মোড যার জন্য অনুমোদন তথ্য অনুরোধ করা হয়েছে; প্রায় সব ক্ষেত্রেই, auth Mode এর মান হতে হবে Script App.getAuthorizationInfo(ScriptApp.AuthMode.FULL) , যেহেতু অন্য কোন অনুমোদন মোডের জন্য ব্যবহারকারীদের অনুমোদন দেওয়ার প্রয়োজন নেই

প্রত্যাবর্তন

Authorization Info — এমন একটি বস্তু যা ব্যবহারকারীর অনুমোদনের অবস্থা সম্পর্কে তথ্য প্রদান করতে পারে


get Identity Token()

কার্যকর ব্যবহারকারীর জন্য একটি ওপেন আইডি কানেক্ট আইডেন্টিটি টোকেন পায়, যদি openid সুযোগ মঞ্জুর করা হয়। এই সুযোগটি ডিফল্টরূপে অন্তর্ভুক্ত করা হয় না, এবং এটির অনুরোধ করার জন্য আপনাকে ম্যানিফেস্ট ফাইলে একটি সুস্পষ্ট সুযোগ হিসাবে এটি যোগ করতে হবে৷ টোকেনে অতিরিক্ত ব্যবহারকারীর তথ্য ফেরত দিতে স্কোপগুলি অন্তর্ভুক্ত করুন https://www.googleapis.com/auth/userinfo.email বা https://www.googleapis.com/auth/userinfo.profile

প্রত্যাবর্তিত আইডি টোকেনটি একটি এনকোড করা JSON ওয়েব টোকেন (JWT) , এবং এটি থেকে তথ্য বের করার জন্য এটিকে অবশ্যই ডিকোড করতে হবে। নিম্নলিখিত উদাহরণগুলি দেখায় কিভাবে টোকেন ডিকোড করতে হয় এবং কার্যকর ব্যবহারকারীর Google প্রোফাইল আইডি বের করতে হয়।

const idToken = ScriptApp.getIdentityToken();
const body = idToken.split('.')[1];
const decoded = Utilities
                    .newBlob(
                        Utilities.base64Decode(body),
                        )
                    .getDataAsString();
const payload = JSON.parse(decoded);

Logger.log(`Profile ID: ${payload.sub}`);
ফেরত দেওয়া ক্ষেত্রগুলির (দাবি) সম্পূর্ণ তালিকার জন্য ওপেন আইডি কানেক্ট ডকুমেন্টেশন দেখুন।

প্রত্যাবর্তন

String — পরিচয় টোকেন যদি উপলব্ধ থাকে; অন্যথায় null


get Installation Source()

একটি enum মান প্রদান করে যা নির্দেশ করে যে স্ক্রিপ্টটি বর্তমান ব্যবহারকারীর জন্য অ্যাড-অন হিসাবে কীভাবে ইনস্টল করা হয়েছে (উদাহরণস্বরূপ, ব্যবহারকারী এটি Chrome ওয়েব স্টোরের মাধ্যমে ব্যক্তিগতভাবে ইনস্টল করেছেন কিনা, বা একজন ডোমেন প্রশাসক এটি সমস্ত ব্যবহারকারীর জন্য ইনস্টল করেছেন কিনা)৷

প্রত্যাবর্তন

Installation Source — ইনস্টলেশনের উৎস।


get OAuth Token()

কার্যকর ব্যবহারকারীর জন্য OAuth 2.0 অ্যাক্সেস টোকেন পায়। যদি স্ক্রিপ্টের OAuth স্কোপগুলি অন্য Google API-কে অনুমোদন করার জন্য যথেষ্ট হয় যার জন্য সাধারণত নিজস্ব OAuth প্রবাহের প্রয়োজন হয় (যেমন Google পিকার ), স্ক্রিপ্টগুলি পরিবর্তে এই টোকেনটি পাস করে দ্বিতীয় অনুমোদনের প্রম্পটটিকে বাইপাস করতে পারে৷ টোকেন একটি সময় পরে মেয়াদ শেষ হয় (ন্যূনতম কয়েক মিনিট); স্ক্রিপ্টগুলি অনুমোদনের ব্যর্থতাগুলি পরিচালনা করবে এবং প্রয়োজনে একটি নতুন টোকেন পেতে এই পদ্ধতিটিকে কল করবে।

এই পদ্ধতি দ্বারা প্রত্যাবর্তিত টোকেন শুধুমাত্র স্ক্রিপ্টের বর্তমানে প্রয়োজন এমন সুযোগগুলি অন্তর্ভুক্ত করে। যে স্কোপগুলি আগে অনুমোদিত ছিল কিন্তু স্ক্রিপ্ট দ্বারা আর ব্যবহার করা হয় না সেগুলি প্রত্যাবর্তিত টোকেনে অন্তর্ভুক্ত নয়৷ যদি অতিরিক্ত OAuth স্কোপের প্রয়োজন হয় স্ক্রিপ্টের নিজের প্রয়োজনের বাইরে, সেগুলি স্ক্রিপ্টের ম্যানিফেস্ট ফাইলে নির্দিষ্ট করা যেতে পারে।

প্রত্যাবর্তন

String — OAuth 2.0 টোকেনের একটি স্ট্রিং উপস্থাপনা।


get Project Triggers()

বর্তমান প্রকল্প এবং বর্তমান ব্যবহারকারীর সাথে যুক্ত সমস্ত ইনস্টলযোগ্য ট্রিগার পায়।

Logger.log(
    `Current project has ${ScriptApp.getProjectTriggers().length} triggers.`,
);

প্রত্যাবর্তন

Trigger[] — এই প্রকল্পের সাথে যুক্ত বর্তমান ব্যবহারকারীর ট্রিগারগুলির একটি অ্যারে।

অনুমোদন

যে স্ক্রিপ্টগুলি এই পদ্ধতিটি ব্যবহার করে তাদের নিম্নলিখিত এক বা একাধিক সুযোগের সাথে অনুমোদনের প্রয়োজন হয়:

  • https://www.googleapis.com/auth/script.scriptapp

get Script Id()

স্ক্রিপ্ট প্রকল্পের অনন্য আইডি পায়। get Project Key() বিপরীতে স্ক্রিপ্ট প্রকল্পের জন্য অনন্য শনাক্তকারী পেতে এটি পছন্দের পদ্ধতি। এই আইডিটি এমন সমস্ত জায়গায় ব্যবহার করা যেতে পারে যেখানে প্রকল্প কী আগে দেওয়া হয়েছিল।

প্রত্যাবর্তন

String - স্ক্রিপ্ট প্রকল্পের আইডি।


get Service()

একটি ওয়েব অ্যাপ হিসাবে স্ক্রিপ্ট প্রকাশ নিয়ন্ত্রণ করতে ব্যবহৃত একটি বস্তু পায়।

// Get the URL of the published web app.
const url = ScriptApp.getService().getUrl();

প্রত্যাবর্তন

Service - একটি ওয়েব অ্যাপ হিসাবে স্ক্রিপ্ট প্রকাশ করা পর্যবেক্ষণ এবং নিয়ন্ত্রণ করতে ব্যবহৃত একটি বস্তু।


get User Triggers(document)

এই স্ক্রিপ্ট বা অ্যাড-অনের জন্য প্রদত্ত নথিতে এই ব্যবহারকারীর মালিকানাধীন সমস্ত ইনস্টলযোগ্য ট্রিগার পায়৷ অন্যান্য স্ক্রিপ্টের সাথে সংযুক্ত ট্রিগারগুলি দেখতে এই পদ্ধতিটি ব্যবহার করা যাবে না।

const doc = DocumentApp.getActiveDocument();
const triggers = ScriptApp.getUserTriggers(doc);
// Log the handler function for the first trigger in the array.
Logger.log(triggers[0].getHandlerFunction());

পরামিতি

নাম টাইপ বর্ণনা
document Document একটি Google ডক্স ফাইল যাতে ইনস্টলযোগ্য ট্রিগার থাকতে পারে।

প্রত্যাবর্তন

Trigger[] — প্রদত্ত নথিতে এই ব্যবহারকারীর মালিকানাধীন ট্রিগারগুলির একটি অ্যারে।

অনুমোদন

যে স্ক্রিপ্টগুলি এই পদ্ধতিটি ব্যবহার করে তাদের নিম্নলিখিত এক বা একাধিক সুযোগের সাথে অনুমোদনের প্রয়োজন হয়:

  • https://www.googleapis.com/auth/script.scriptapp

get User Triggers(form)

এই স্ক্রিপ্ট বা অ্যাড-অনের জন্য প্রদত্ত ফর্মে এই ব্যবহারকারীর মালিকানাধীন সমস্ত ইনস্টলযোগ্য ট্রিগার পায়৷ অন্যান্য স্ক্রিপ্টের সাথে সংযুক্ত ট্রিগারগুলি দেখতে এই পদ্ধতিটি ব্যবহার করা যাবে না।

const form = FormApp.getActiveForm();
const triggers = ScriptApp.getUserTriggers(form);
// Log the trigger source for the first trigger in the array.
Logger.log(triggers[0].getTriggerSource());

পরামিতি

নাম টাইপ বর্ণনা
form Form একটি Google ফর্ম ফাইল যাতে ইনস্টলযোগ্য ট্রিগার থাকতে পারে।

প্রত্যাবর্তন

Trigger[] — প্রদত্ত ফর্মে এই ব্যবহারকারীর মালিকানাধীন ট্রিগারগুলির একটি অ্যারে।

অনুমোদন

যে স্ক্রিপ্টগুলি এই পদ্ধতিটি ব্যবহার করে তাদের নিম্নলিখিত এক বা একাধিক সুযোগের সাথে অনুমোদনের প্রয়োজন হয়:

  • https://www.googleapis.com/auth/script.scriptapp

get User Triggers(spreadsheet)

প্রদত্ত স্প্রেডশীটে এই ব্যবহারকারীর মালিকানাধীন সমস্ত ইনস্টলযোগ্য ট্রিগার পায়, শুধুমাত্র এই স্ক্রিপ্ট বা অ্যাড-অনের জন্য। অন্যান্য স্ক্রিপ্টের সাথে সংযুক্ত ট্রিগারগুলি দেখতে এই পদ্ধতিটি ব্যবহার করা যাবে না।

const ss = SpreadsheetApp.getActiveSpreadsheet();
const triggers = ScriptApp.getUserTriggers(ss);
// Log the event type for the first trigger in the array.
Logger.log(triggers[0].getEventType());

পরামিতি

নাম টাইপ বর্ণনা
spreadsheet Spreadsheet একটি Google পত্রক ফাইল যাতে ইনস্টলযোগ্য ট্রিগার থাকতে পারে।

প্রত্যাবর্তন

Trigger[] — প্রদত্ত স্প্রেডশীটে এই ব্যবহারকারীর মালিকানাধীন ট্রিগারগুলির একটি অ্যারে।

অনুমোদন

যে স্ক্রিপ্টগুলি এই পদ্ধতিটি ব্যবহার করে তাদের নিম্নলিখিত এক বা একাধিক সুযোগের সাথে অনুমোদনের প্রয়োজন হয়:

  • https://www.googleapis.com/auth/script.scriptapp

invalidate Auth()

বর্তমান স্ক্রিপ্টটি কার্যকর করার জন্য কার্যকর ব্যবহারকারীর অনুমোদন বাতিল করে। বর্তমান স্ক্রিপ্টের জন্য কোনো অনুমতি বাতিল করতে ব্যবহৃত হয়। এটি এক-শট অনুমোদন হিসাবে ট্যাগ করা ফাংশনগুলির জন্য বিশেষভাবে কার্যকর। যেহেতু ওয়ান-শট অনুমোদন ফাংশনগুলিকে স্ক্রিপ্টটি অনুমোদন পাওয়ার পরে শুধুমাত্র প্রথম রান বলা যেতে পারে, আপনি যদি পরে একটি ক্রিয়া সম্পাদন করতে চান, তাহলে আপনাকে অবশ্যই স্ক্রিপ্টের যেকোনো অনুমোদন প্রত্যাহার করতে হবে, যাতে ব্যবহারকারী আবার অনুমোদন ডায়ালগ দেখতে পারেন৷

ScriptApp.invalidateAuth();

নিক্ষেপ করে

Error — যখন অবৈধকরণ ব্যর্থ হয়


new State Token()

একটি কলব্যাক API (যেমন একটি OAuth ফ্লো) ব্যবহার করা যেতে পারে এমন একটি রাজ্য টোকেনের জন্য একটি নির্মাতা তৈরি করে৷

// Generate a callback URL, given the name of a callback function. The script
// does not need to be published as a web app; the /usercallback URL suffix
// replaces /edit in any script's URL.
function getCallbackURL(callbackFunction) {
  // IMPORTANT: Replace string below with the URL from your script, minus the
  // /edit at the end.
  const scriptUrl =
      'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz';
  const urlSuffix = '/usercallback?state=';
  const stateToken = ScriptApp.newStateToken()
                         .withMethod(callbackFunction)
                         .withTimeout(120)
                         .createToken();
  return scriptUrl + urlSuffix + stateToken;
}

বেশিরভাগ OAuth2 ফ্লোতে, state টোকেন সরাসরি অনুমোদনের এন্ডপয়েন্টে পাঠানো হয় (কলব্যাক ইউআরএলের অংশ হিসেবে নয়), এবং অনুমোদনের শেষ পয়েন্ট এটিকে কলব্যাক ইউআরএলের অংশ হিসেবে পাস করে।

যেমন:

  • স্ক্রিপ্ট ব্যবহারকারীকে OAuth2 অনুমোদন URL-এ পুনঃনির্দেশ করে: https://accounts.google.com/o/oauth2/auth?state=token_generated_with_this_method&callback_uri=https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback&other_oauth2_parameters
  • ব্যবহারকারী অনুমোদনে ক্লিক করে এবং OAuth2 অনুমোদন পৃষ্ঠা ব্যবহারকারীকে আবার https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants এ পুনঃনির্দেশ করে
  • উপরোক্ত পুনঃনির্দেশ ( http://script.google.com/... এ ফিরে যান), ব্রাউজার অনুরোধকে /usercallback এর জন্য ঘটায়, যা State Token Builder.withMethod(method) দ্বারা নির্দিষ্ট করা পদ্ধতিকে আহ্বান করে।

প্রত্যাবর্তন

State Token Builder — রাষ্ট্র-টোকেন-বিল্ডিং প্রক্রিয়া চালিয়ে যেতে ব্যবহৃত একটি বস্তু।


new Trigger(functionName)

একটি ইন্সটলযোগ্য ট্রিগার তৈরি করার প্রক্রিয়া শুরু করে যেটি, যখন ফায়ার করা হয়, একটি প্রদত্ত ফাংশনকে কল করে।

// Creates an edit trigger for a spreadsheet identified by ID.
ScriptApp.newTrigger('myFunction')
    .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3')
    .onEdit()
    .create();

পরামিতি

নাম টাইপ বর্ণনা
function Name String ট্রিগার ফায়ার হলে কল করার ফাংশন। আপনি অন্তর্ভুক্ত লাইব্রেরি থেকে ফাংশন ব্যবহার করতে পারেন, যেমন Library.libFunction1

প্রত্যাবর্তন

Trigger Builder - ট্রিগার-বিল্ডিং প্রক্রিয়া চালিয়ে যাওয়ার জন্য ব্যবহৃত একটি বস্তু।

অনুমোদন

যে স্ক্রিপ্টগুলি এই পদ্ধতিটি ব্যবহার করে তাদের নিম্নলিখিত এক বা একাধিক সুযোগের সাথে অনুমোদনের প্রয়োজন হয়:

  • https://www.googleapis.com/auth/script.scriptapp

অপ্রচলিত পদ্ধতি