স্কোপ, স্কোপ, স্কোপ

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

এই প্রবাহের সময়, প্রম্পট ব্যবহারকারীকে বলে যে অ্যাপ্লিকেশনটি কী করার অনুমতি চায়৷ উদাহরণস্বরূপ, একটি অ্যাড-অন ব্যবহারকারীর ইমেল বার্তা পড়ার বা তাদের ক্যালেন্ডারে ইভেন্ট তৈরি করার অনুমতি চাইতে পারে। অ্যাড-অনের স্ক্রিপ্ট প্রকল্প এই পৃথক অনুমতিগুলিকে OAuth স্কোপ হিসাবে সংজ্ঞায়িত করে।

আপনি URL স্ট্রিং ব্যবহার করে আপনার ম্যানিফেস্টে স্কোপ ঘোষণা করেন। অনুমোদন প্রবাহের সময়, Apps স্ক্রিপ্ট ব্যবহারকারীর কাছে সুযোগের একটি মানব-পাঠযোগ্য বর্ণনা উপস্থাপন করে। যেমন, আপনার Google Workspace অ্যাড-অন "বর্তমান বার্তা পড়ুন" স্কোপ ব্যবহার করতে পারে, যা আপনার ম্যানিফেস্টে https://www.googleapis.com/auth/gmail.addons.current.message.readonly হিসেবে লেখা আছে। অনুমোদনের প্রবাহের সময়, এই সুযোগের সাথে একটি অ্যাড-অন ব্যবহারকারীকে অ্যাড-অনকে অনুমতি দিতে বলে: অ্যাড-অন চলাকালীন আপনার ইমেল বার্তাগুলি দেখুন

দেখার সুযোগ

আপনি নিম্নলিখিতগুলি করে আপনার স্ক্রিপ্ট প্রকল্পের বর্তমানে প্রয়োজনীয় সুযোগগুলি দেখতে পারেন:

  1. স্ক্রিপ্ট প্রকল্প খুলুন.
  2. বাম দিকে, ওভারভিউ ক্লিক করুন।
  3. "প্রকল্প OAuth স্কোপস" এর অধীনে স্কোপগুলি দেখুন৷

আপনি oauthScopes ক্ষেত্রের অধীনে প্রজেক্ট ম্যানিফেস্টে স্ক্রিপ্ট প্রকল্পের বর্তমান স্কোপগুলিও দেখতে পারেন, কিন্তু শুধুমাত্র যদি আপনি সেই সুযোগগুলি স্পষ্টভাবে সেট করে থাকেন।

সুস্পষ্ট সুযোগ সেট করা

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

উদাহরণস্বরূপ, অ্যাপস স্ক্রিপ্ট ডিফল্টরূপে একটি অ্যাড-অন স্ক্রিপ্ট প্রকল্পকে খুব অনুমোদনযোগ্য সুযোগ https://mail.google.com দিতে পারে। যখন একজন ব্যবহারকারী এই সুযোগের সাথে একটি স্ক্রিপ্ট প্রকল্প অনুমোদন করে, তখন প্রকল্পটিকে ব্যবহারকারীর Gmail অ্যাকাউন্টে সম্পূর্ণ অ্যাক্সেস দেওয়া হয়। প্রকাশিত অ্যাড-অনগুলির জন্য, আপনাকে অবশ্যই এই সুযোগটিকে আরও সীমিত সেট দিয়ে প্রতিস্থাপন করতে হবে যা অ্যাড-অনগুলির প্রয়োজনীয়তাগুলিকে কভার করে এবং আর কিছু নয়৷

আপনি স্পষ্টভাবে আপনার স্ক্রিপ্ট প্রকল্পটি এর ম্যানিফেস্ট ফাইল সম্পাদনা করে যে স্কোপগুলি ব্যবহার করে তা সেট করতে পারেন৷ ম্যানিফেস্ট ফিল্ড oauthScopes হল অ্যাড-অন দ্বারা ব্যবহৃত সমস্ত স্কোপের একটি অ্যারে। আপনার প্রকল্পের সুযোগ সেট করতে, নিম্নলিখিতগুলি করুন:

  1. আপনার অ্যাড-অন বর্তমানে ব্যবহার করা সুযোগগুলি দেখুন । সংকীর্ণ সুযোগ ব্যবহার করার মতো কী পরিবর্তন করা দরকার তা নির্ধারণ করুন।
  2. আপনার অ্যাড-অনের ম্যানিফেস্ট ফাইলটি খুলুন
  3. oauthScopes লেবেলযুক্ত শীর্ষ-স্তরের ক্ষেত্রটি সনাক্ত করুন। এটি উপস্থিত না থাকলে, আপনি এটি যোগ করতে পারেন।
  4. oauthScopes ক্ষেত্রটি স্ট্রিংয়ের একটি অ্যারে নির্দিষ্ট করে। আপনার প্রকল্প ব্যবহার করে স্কোপ সেট করতে, আপনি এটি ব্যবহার করতে চান সেই স্কোপের সাথে এই অ্যারের বিষয়বস্তু প্রতিস্থাপন করুন। যেমন, Gmail প্রসারিত করে এমন একটি Google Workspace অ্যাড-অনের জন্য আপনার নিম্নলিখিতগুলি থাকতে পারে:

    {
      ...
      "oauthScopes": [
        "https://www.googleapis.com/auth/gmail.addons.current.message.metadata",
        "https://www.googleapis.com/auth/userinfo.email"
      ],
      ...
    }
    
  5. ম্যানিফেস্ট ফাইলের পরিবর্তনগুলি সংরক্ষণ করুন।

OAuth যাচাইকরণ

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

সীমাবদ্ধ সুযোগ

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

আপনি প্রকাশ করার চেষ্টা করার আগে সীমাবদ্ধ স্কোপের সম্পূর্ণ তালিকা পর্যালোচনা করুন। যদি আপনার অ্যাড-অন সেগুলির যেকোনও ব্যবহার করে, তাহলে প্রকাশ করার আগে আপনাকে নির্দিষ্ট API স্কোপের জন্য অতিরিক্ত প্রয়োজনীয়তা মেনে চলতে হবে।

ক্যালেন্ডার স্কোপ

নীচে Google কর্মস্পেস অ্যাড-অনগুলির জন্য প্রায়শই ব্যবহৃত সুযোগগুলি রয়েছে যা Google ক্যালেন্ডারকে প্রসারিত করে।

ব্যাপ্তি
ইভেন্ট মেটাডেটা অ্যাক্সেস করুন https://www.googleapis.com/auth/calendar.addons.execute

অ্যাড-অন ক্যালেন্ডার ইভেন্ট মেটাডেটা অ্যাক্সেস করলে প্রয়োজনীয়। অ্যাড-অনকে ইভেন্ট মেটাডেটা অ্যাক্সেস করার অনুমতি দেয়।

ব্যবহারকারীর তৈরি ইভেন্ট ডেটা পড়ুন https://www.googleapis.com/auth/calendar.addons.current.event.read

অ্যাড-অন ব্যবহারকারীর তৈরি ইভেন্ট ডেটা পড়তে হলে প্রয়োজন। অ্যাড-অনকে ব্যবহারকারীর তৈরি ইভেন্ট ডেটা অ্যাক্সেস করার অনুমতি দেয়। addOns.calendar.eventAccess ম্যানিফেস্ট ফিল্ডটি READ বা READ_WRITE এ সেট করা থাকলেই এই ডেটা পাওয়া যায়।

ব্যবহারকারীর দ্বারা তৈরি ইভেন্ট ডেটা লিখুন https://www.googleapis.com/auth/calendar.addons.current.event.write

অ্যাড-অন ব্যবহারকারীর তৈরি ইভেন্ট ডেটা লিখতে হলে প্রয়োজন। অ্যাড-অনকে ব্যবহারকারীর তৈরি ইভেন্ট ডেটা সম্পাদনা করার অনুমতি দেয়। addOns.calendar.eventAccess ম্যানিফেস্ট ফিল্ডটি WRITE বা READ_WRITE এ সেট করা থাকলেই এই ডেটা পাওয়া যায়।

ড্রাইভের সুযোগ

নীচে Google Workspace অ্যাড-অনগুলির জন্য প্রায়শই ব্যবহৃত সুযোগ রয়েছে যা Google ড্রাইভকে প্রসারিত করে।

ব্যাপ্তি
নির্বাচিত আইটেম মেটাডেটা পড়ুন https://www.googleapis.com/auth/drive.addons.metadata.readonly

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

প্রতি-ফাইল অ্যাক্সেস https://www.googleapis.com/auth/drive.file

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

নির্বাচিত ফাইলের উদাহরণের জন্য অনুরোধ ফাইল অ্যাক্সেস দেখুন।

জিমেইল অ্যাড-অন স্কোপ

ব্যবহারকারীর Gmail ডেটা সুরক্ষিত রাখতে Google Workspace অ্যাড-অনগুলির জন্য বিশেষভাবে তৈরি করা হয়েছে এমন কয়েকটি সুযোগ রয়েছে। আপনার অ্যাড-অন কোডের প্রয়োজন অন্য যেকোনও সাথে আপনার অ্যাড-অন ম্যানিফেস্টে এই স্কোপগুলিকে স্পষ্টভাবে যোগ করতে হবে।

নিচে Google Workspace অ্যাড-অনগুলির জন্য প্রায়শই ব্যবহৃত স্কোপ রয়েছে যা Gmail প্রসারিত করে; আপনার অ্যাড-অন যদি Gmail প্রসারিত করে তাহলে আপনার Google Workspace অ্যাড-অন ম্যানিফেস্টে প্রয়োজনীয় লেবেলযুক্ত একটি যোগ করতে হবে।

আপনার অ্যাড-অনে খুব বিস্তৃত https://mail.google.com স্কোপটিকে একটি সংকীর্ণ স্কোপের সেট দিয়ে প্রতিস্থাপন করতে ভুলবেন না যা আপনার অ্যাড-অনের প্রয়োজনীয় ইন্টারঅ্যাকশনগুলিকে অনুমতি দেয় এবং আর কিছু নয়৷

ব্যাপ্তি
নতুন খসড়া তৈরি করুন https://www.googleapis.com/auth/gmail.addons.current.action.compose

অ্যাড-অন কম্পোজ অ্যাকশন ট্রিগার ব্যবহার করলে প্রয়োজনীয়। অ্যাড-অনকে অস্থায়ীভাবে নতুন খসড়া বার্তা এবং উত্তর তৈরি করার অনুমতি দেয়। বিস্তারিত জানার জন্য খসড়া বার্তা রচনা দেখুন; এই সুযোগটি প্রায়শই রচনা ক্রিয়াগুলির সাথেও ব্যবহৃত হয়। একটি অ্যাক্সেস টোকেন প্রয়োজন.

ওপেন মেসেজ মেটাডেটা পড়ুন https://www.googleapis.com/auth/gmail.addons.current.message.metadata

খোলা বার্তার মেটাডেটা (যেমন বিষয় বা প্রাপকদের) অস্থায়ী অ্যাক্সেস মঞ্জুর করে। বার্তা সামগ্রী পড়ার অনুমতি দেয় না এবং একটি অ্যাক্সেস টোকেন প্রয়োজন।

অ্যাড-অন কম্পোজ অ্যাকশন ট্রিগারে মেটাডেটা ব্যবহার করলে প্রয়োজনীয়। রচনা ক্রিয়াগুলির জন্য, যদি একটি রচনা ট্রিগারের মেটাডেটা অ্যাক্সেসের প্রয়োজন হয় তবে এই সুযোগটি প্রয়োজন৷ অনুশীলনে, এই সুযোগটি একটি উত্তর ইমেল খসড়ার প্রাপক তালিকা (:, cc:, এবং bcc:) কম্পোজ ট্রিগার অ্যাক্সেস করতে দেয়।

খোলা বার্তা বিষয়বস্তু পড়ুন https://www.googleapis.com/auth/gmail.addons.current.message.action

একটি ব্যবহারকারীর মিথস্ক্রিয়ায় খোলা বার্তার সামগ্রীতে অ্যাক্সেস মঞ্জুর করে, যেমন যখন একটি অ্যাড-অন মেনু আইটেম নির্বাচন করা হয়৷ একটি অ্যাক্সেস টোকেন প্রয়োজন.

খোলা থ্রেড বিষয়বস্তু পড়ুন https://www.googleapis.com/auth/gmail.addons.current.message.readonly

খোলা বার্তার মেটাডেটা এবং বিষয়বস্তুতে অস্থায়ী অ্যাক্সেস মঞ্জুর করে। এছাড়াও খোলা থ্রেডে অন্যান্য বার্তাগুলির বিষয়বস্তুতে অ্যাক্সেস মঞ্জুর করে৷ একটি অ্যাক্সেস টোকেন প্রয়োজন.

কোন বার্তা বিষয়বস্তু এবং মেটাডেটা পড়ুন https://www.googleapis.com/auth/gmail.readonly

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

টোকেন অ্যাক্সেস করুন

ব্যবহারকারীর ডেটা সুরক্ষিত রাখতে, Google Workspace অ্যাড-অনগুলিতে ব্যবহৃত Gmail স্কোপগুলি শুধুমাত্র ব্যবহারকারীর ডেটাতে অস্থায়ী অ্যাক্সেস দেয়। অস্থায়ী অ্যাক্সেস সক্ষম করতে, আপনাকে অবশ্যই একটি আর্গুমেন্ট হিসাবে অ্যাক্সেস টোকেন ব্যবহার করে GmailApp.setCurrentMessageAccessToken(accessToken) ফাংশনটিকে কল করতে হবে। আপনাকে অবশ্যই একটি অ্যাকশন ইভেন্ট অবজেক্ট থেকে একটি অ্যাক্সেস টোকেন পেতে হবে।

নিম্নলিখিতটি একটি বার্তার মেটাডেটা অ্যাক্সেসের অনুমতি দেওয়ার জন্য একটি অ্যাক্সেস টোকেন সেট করার একটি উদাহরণ দেখায়৷ এই উদাহরণের জন্য প্রয়োজনীয় একমাত্র সুযোগ হল https://www.googleapis.com/auth/gmail.addons.current.message.metadata

function readSender(e) {
  var accessToken = e.gmail.accessToken;
  var messageId = e.gmail.messageId;

  // The following function enables short-lived access to the current
  // message in Gmail. Access to other Gmail messages or data isn't
  // permitted.
  GmailApp.setCurrentMessageAccessToken(accessToken);
  var mailMessage = GmailApp.getMessageById(messageId);
  return mailMessage.getFrom();
}

সম্পাদকের সুযোগ

নীচে Google Workspace অ্যাড-অনগুলির জন্য প্রায়শই ব্যবহৃত স্কোপগুলি রয়েছে যা ডক্স, শীট এবং স্লাইডগুলিকে প্রসারিত করে৷

ব্যাপ্তি
বর্তমান ডক্স ফাইল অ্যাক্সেস https://www.googleapis.com/auth/documents.currentonly

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

বর্তমান পত্রক ফাইল অ্যাক্সেস https://www.googleapis.com/auth/spreadsheets.currentonly

অ্যাড-অন অ্যাপস স্ক্রিপ্ট শীট API অ্যাক্সেস করলে প্রয়োজনীয়। খোলা স্প্রেডশীটের সামগ্রীতে অস্থায়ী অ্যাক্সেস মঞ্জুর করে।

বর্তমান স্লাইড ফাইল অ্যাক্সেস https://www.googleapis.com/auth/presentations.currentonly

অ্যাড-অন অ্যাপস স্ক্রিপ্ট স্লাইড এপিআই অ্যাক্সেস করলে প্রয়োজনীয়। খোলা উপস্থাপনার বিষয়বস্তুতে অস্থায়ী অ্যাক্সেস মঞ্জুর করে।

প্রতি-ফাইল অ্যাক্সেস https://www.googleapis.com/auth/drive.file

onFileScopeGrantedTrigger ব্যবহার করার জন্য অ্যাড-অনের জন্য প্রয়োজন এবং যদি অ্যাড-অন ডক্স, শীট, স্লাইড বা ড্রাইভ API অ্যাক্সেস করে। অ্যাপস স্ক্রিপ্ট অ্যাডভান্সড ড্রাইভ পরিষেবা ব্যবহার করে অ্যাপ দ্বারা তৈরি বা খোলা ফাইলগুলিতে প্রতি-ফাইল অ্যাক্সেস মঞ্জুর করে৷ যদিও এটি মৌলিক ড্রাইভ পরিষেবা ব্যবহার করে অনুরূপ ক্রিয়াকলাপ ব্যবহারের অনুমতি দেয় না৷ ফাইল অনুমোদন প্রতি-ফাইলের ভিত্তিতে মঞ্জুর করা হয় এবং ব্যবহারকারী যখন অ্যাপটিকে অনুমোদন করে তখন প্রত্যাহার করা হয়।

অন্যান্য সুযোগ

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

রেফারেন্সের জন্য, এখানে Apps স্ক্রিপ্ট স্কোপের একটি তালিকা রয়েছে যা প্রায়শই Google Workspace অ্যাড-অনগুলির সাথে ব্যবহার করা হয়:

ব্যাপ্তি
ব্যবহারকারীর ইমেল ঠিকানা পড়ুন https://www.googleapis.com/auth/userinfo.email

প্রকল্পটিকে বর্তমান ব্যবহারকারীর ইমেল ঠিকানা পড়ার অনুমতি দেয়৷

বাহ্যিক পরিষেবাগুলিতে কল করার অনুমতি দিন https://www.googleapis.com/auth/script.external_request

প্রকল্পটিকে UrlFetch অনুরোধ করার অনুমতি দেয়৷ প্রকল্পটি অ্যাপস স্ক্রিপ্ট লাইব্রেরির জন্য OAuth2 ব্যবহার করলেও এটি প্রয়োজনীয়।

ব্যবহারকারীর লোকেল এবং টাইমজোন পড়ুন https://www.googleapis.com/auth/script.locale

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

ট্রিগার তৈরি করুন https://www.googleapis.com/auth/script.scriptapp

প্রকল্পটিকে ট্রিগার তৈরি করার অনুমতি দেয়।

তৃতীয় পক্ষের লিঙ্কগুলির পূর্বরূপ দেখুন https://www.googleapis.com/auth/workspace.linkpreview

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

তৃতীয় পক্ষের সম্পদ তৈরি করুন https://www.googleapis.com/auth/workspace.linkcreate

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