এমনকি সবচেয়ে অভিজ্ঞ ডেভেলপারও খুব কমই প্রথম চেষ্টায় সঠিকভাবে কোড লেখেন, তাই ট্রাবলশুটিং বা সমস্যা সমাধান উন্নয়ন প্রক্রিয়ার একটি গুরুত্বপূর্ণ অংশ। এই বিভাগে আপনার স্ক্রিপ্টের ত্রুটি খুঁজে বের করা, বোঝা এবং ডিবাগ করার কৌশলগুলি আলোচনা করা হয়েছে।
ত্রুটির বার্তা
যখন আপনার স্ক্রিপ্টে কোনো ত্রুটি দেখা দেয়, তখন একটি লাইন নম্বরসহ ত্রুটির বার্তা প্রদর্শিত হয়। মূলত দুই ধরনের ত্রুটি রয়েছে: সিনট্যাক্স ত্রুটি এবং রানটাইম ত্রুটি ।
সিনট্যাক্স ত্রুটি
কোড যখন জাভাস্ক্রিপ্ট ব্যাকরণ অনুসরণ করে না, তখন সিনট্যাক্স ত্রুটি ঘটে এবং স্ক্রিপ্ট সংরক্ষণ করার সময় এটি শনাক্ত হয়। উদাহরণস্বরূপ, নিম্নলিখিত কোড অংশে একটি সিনট্যাক্স ত্রুটি রয়েছে:
function emailDataRow(rowNumber) {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var rowData = data[rowNumber-1].join(" ";
MailApp.sendEmail('john@example.com',
'Data in row ' + rowNumber,
rowData);
}
সমস্যাটি হলো ৪ নং লাইনের শেষে একটি বন্ধনী ) চিহ্ন না থাকা। স্ক্রিপ্টটি সেভ করলে নিম্নলিখিত ত্রুটিটি দেখা যায়:
আর্গুমেন্ট তালিকার পরে বন্ধনী () নেই। (লাইন ৪)
এই ত্রুটিগুলো তাৎক্ষণিকভাবে শনাক্ত করা যায়, ফলে এগুলোর সমাধান করা সহজ হয়ে যায়। আপনার প্রোজেক্টে শুধুমাত্র বৈধ কোডই সংরক্ষিত হয়।
রানটাইম ত্রুটি
যখন কোনো ফাংশন বা ক্লাস ভুলভাবে ব্যবহার করা হয়, তখন রানটাইম এরর ঘটে এবং স্ক্রিপ্ট চলার সময় তা শনাক্ত হয়। উদাহরণস্বরূপ, নিম্নলিখিত কোডটি একটি রানটাইম এরর ঘটায়:
function emailDataRow(rowNumber) {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var rowData = data[rowNumber-1].join(" ");
MailApp.sendEmail('john',
'Data in row ' + rowNumber,
rowData);
}
কোডটি সঠিকভাবে ফরম্যাট করা হলেও, "john" একটি অবৈধ ইমেল ঠিকানা। নিম্নলিখিত ত্রুটিটি প্রদর্শিত হয়:
অবৈধ ইমেল: জন (লাইন ৫)
এই ত্রুটিগুলো সমাধান করা কঠিন, কারণ ডেটা প্রায়শই স্প্রেডশিট বা ফর্মের মতো বাহ্যিক উৎস থেকে নেওয়া হয়। কারণ শনাক্ত করতে ডিবাগিং কৌশল ব্যবহার করুন।
সাধারণ ভুল
নিচে কিছু সাধারণ ভুল এবং সেগুলোর কারণের তালিকা দেওয়া হলো।
সার্ভিসটি অনেকবার কল করা হয়েছে: <অ্যাকশনের নাম>
এই ত্রুটিটি নির্দেশ করে যে আপনি কোনো একটি কাজের জন্য আপনার দৈনিক কোটা অতিক্রম করেছেন, যেমন খুব বেশি ইমেল পাঠানো। কোটা অ্যাকাউন্টের ধরন অনুযায়ী ভিন্ন হয় এবং তা পরিবর্তন সাপেক্ষ। অ্যাপস স্ক্রিপ্ট কোটা ডকুমেন্টেশনে সীমাগুলো দেখুন।
সার্ভার উপলব্ধ নয়। অথবা সার্ভারে ত্রুটি ঘটেছে, অনুগ্রহ করে আবার চেষ্টা করুন।
সম্ভাব্য কারণগুলোর মধ্যে রয়েছে:
- গুগল সার্ভারটি সাময়িকভাবে অনুপলব্ধ। অপেক্ষা করুন এবং আবার চেষ্টা করুন।
- আপনার স্ক্রিপ্টে একটি ত্রুটির সাথে কোনো বার্তা নেই। সমস্যাটি চিহ্নিত করতে ডিবাগ করার চেষ্টা করুন।
- গুগল অ্যাপস স্ক্রিপ্টে একটি বাগ রয়েছে। বাগস (Bugs) বিভাগে বাগটি খুঁজুন এবং বাগ রিপোর্ট জমা দিন।
উক্ত কাজটি সম্পাদন করার জন্য অনুমোদনের প্রয়োজন।
স্ক্রিপ্টটি চালানোর জন্য প্রয়োজনীয় অনুমোদন নেই। যখন কোনো স্ক্রিপ্ট ট্রিগার থেকে বা সার্ভিস হিসেবে চলে, তখন অনুমোদনের ডায়ালগ দেখানো যায় না।
স্ক্রিপ্টটিকে অনুমোদন করতে, স্ক্রিপ্ট এডিটরটি খুলুন এবং যেকোনো একটি ফাংশন চালান। যদি স্ক্রিপ্টটি নতুন অননুমোদিত পরিষেবা ব্যবহার করে, তবে আপনাকে অবশ্যই এটিকে পুনরায় অনুমোদন করতে হবে।
অনুমোদনের আগে বা মেয়াদ শেষ হওয়ার পরে সক্রিয় হওয়া ট্রিগারগুলি প্রায়শই এই ত্রুটির কারণ হয়। যদি কোনো অ্যাড-অন এর কারণ হয়, তবে পুনরায় অনুমোদন করার জন্য অ্যাড-অনটি আবার ব্যবহার করুন। সমস্যা সৃষ্টিকারী ট্রিগারগুলি সরিয়ে ফেলুন:
- অ্যাপস স্ক্রিপ্ট প্রজেক্টে, ট্রিগারস ক্লিক করুন।
- ট্রিগারের পাশে, More > Delete trigger-এ ক্লিক করুন।
বিকল্পভাবে, অ্যাড-অনটি আনইনস্টল করুন ।
সূক্ষ্ম অনুমতিও এই ত্রুটিগুলির কারণ হতে পারে। ট্রিগার নির্বাহ সুরক্ষিত করতে অনুমোদন পরিধি পৃষ্ঠাটি দেখুন।
অ্যাক্সেস প্রত্যাখ্যাত: DriveApp অথবা ডোমেইন নীতি তৃতীয় পক্ষের Drive অ্যাপগুলিকে নিষ্ক্রিয় করেছে।
গুগল ওয়ার্কস্পেস অ্যাডমিনিস্ট্রেটররা তাদের ডোমেনের জন্য ড্রাইভ এপিআই নিষ্ক্রিয় করতে পারেন, যার ফলে ব্যবহারকারীরা ড্রাইভ অ্যাপ বা অ্যাপস স্ক্রিপ্ট অ্যাড-অন ব্যবহার করতে পারেন না, যেগুলো ড্রাইভ পরিষেবা ব্যবহার করে।
যদি কোনো অ্যাড-অন বা ওয়েব অ্যাপ ডোমেন-ব্যাপী ইনস্টলেশনের জন্য প্রকাশ করা হয় এবং কোনো প্রশাসক কর্তৃক ইনস্টল করা হয়, তাহলে ড্রাইভ এপিআই নিষ্ক্রিয় থাকলেও স্ক্রিপ্টটি কাজ করে।
স্ক্রিপ্টটির সক্রিয় ব্যবহারকারীর পরিচয় জানার অনুমতি নেই।
সক্রিয় ব্যবহারকারীর পরিচয় এবং ইমেল পাওয়া যাচ্ছে না। AuthMode.FULL ছাড়া অন্য কোনো অথরাইজেশন মোডে Session.getActiveUser() বা Session.getEffectiveUser() কল করার ফলে এমনটা হয়। যদি আপনার স্ক্রিপ্ট কোনো ট্রিগারে চলে, তাহলে আপনি Apps Script ইভেন্ট অবজেক্টের authMode প্রপার্টিতে অথরাইজেশন মোডটি খুঁজে নিতে পারেন।
অনুমোদন মোডের উপর ভিত্তি করে এর সমস্যা সমাধান করুন:
-
AuthMode.FULLএর ক্ষেত্রে, এর পরিবর্তেSession.getEffectiveUser()ব্যবহার করার কথা বিবেচনা করুন। -
AuthMode.LIMITEDএ, নিশ্চিত করুন যে মালিক স্ক্রিপ্টটিকে অনুমোদন দিয়েছেন। - অন্যান্য অনুমোদন মোডে, কোনো পদ্ধতিই কল করা থেকে বিরত থাকুন।
- আপনি যদি গুগল ওয়ার্কস্পেসের এমন একজন গ্রাহক হন যিনি কোনো ইনস্টলযোগ্য ট্রিগার থেকে নতুন করে এই সতর্কবার্তাটি পাচ্ছেন, তাহলে নিশ্চিত করুন যে ট্রিগারটি আপনার প্রতিষ্ঠানের অন্তর্ভুক্ত কোনো ব্যবহারকারী হিসেবে চলছে।
লাইব্রেরি অনুপস্থিত
একই সাথে অনেক বেশি লোক কোনো লাইব্রেরি ব্যবহার করলে, সেটিকে অনুপস্থিত হিসেবে রিপোর্ট করা হতে পারে। এর সমাধান করতে:
- লাইব্রেরির কোডটি সরাসরি আপনার স্ক্রিপ্টে কপি করুন।
- আপনার নিজের অ্যাকাউন্ট থেকে লাইব্রেরিটি কপি করে স্থাপন করুন।
- আপনার স্ক্রিপ্টটি চালানোর জন্য লাইব্রেরিটির প্রয়োজন না হলে, আপনার স্ক্রিপ্ট প্রজেক্ট থেকে লাইব্রেরিটি সরিয়ে ফেলুন।
লাইব্রেরি সংস্করণ বা ডেপ্লয়মেন্ট সংস্করণ অনুপস্থিত থাকার কারণে ত্রুটি ঘটেছে। ত্রুটি কোড পাওয়া যায়নি।
এই ত্রুটি বার্তাটি নিম্নলিখিত বিষয়গুলির মধ্যে একটি নির্দেশ করে:
- একটি ডিপ্লয়মেন্টে ব্যবহৃত স্ক্রিপ্ট ভার্সনটি মুছে ফেলা হয়েছে। এর সমাধান করতে, ডিপ্লয়মেন্টটি এডিট করুন এবং একটি ভিন্ন স্ক্রিপ্ট ভার্সন নির্বাচন করুন।
- স্ক্রিপ্টটিতে ব্যবহৃত একটি লাইব্রেরি সংস্করণ মুছে ফেলা হয়েছে। এর সমাধান করতে, স্ক্রিপ্ট এডিটরের 'লাইব্রেরিস' (Libraries) অংশে লাইব্রেরিটি খুঁজুন এবং এটিকে অন্য কোনো সংস্করণে আপডেট করুন অথবা লাইব্রেরিটি মুছে ফেলুন। আপডেট করতে, সংস্করণ নম্বরে ক্লিক করে অন্য একটি সংস্করণ নির্বাচন করুন। মুছে ফেলতে, > Remove-এ ক্লিক করুন।
- একটি লাইব্রেরি অন্য একটি লাইব্রেরিকে অন্তর্ভুক্ত করেছে এবং সেই লাইব্রেরির সংস্করণটি মুছে ফেলা হয়েছে। এর সমাধান করতে, লাইব্রেরিটির লেখকের সাথে যোগাযোগ করুন অথবা আপনার স্ক্রিপ্টে ব্যবহৃত লাইব্রেরির একটি ভিন্ন সংস্করণ ব্যবহার করুন।
অ্যাডভান্সড সার্ভিস ব্যবহার করে গুগল চ্যাট এপিআই কল করার সময় এরর ৪০০: invalid_scope।
যদি আপনি Some requested scopes cannot be shown " ত্রুটি বার্তা সহ Error 400: invalid_scope সম্মুখীন হন, তার মানে হলো আপনি Apps Script প্রজেক্টের appsscript.json ফাইলে কোনো অথরাইজেশন স্কোপ নির্দিষ্ট করেননি। বেশিরভাগ ক্ষেত্রে, Apps Script স্বয়ংক্রিয়ভাবে নির্ধারণ করে একটি স্ক্রিপ্টের জন্য কোন স্কোপগুলো প্রয়োজন, কিন্তু যখন আপনি চ্যাট অ্যাডভান্সড সার্ভিস ব্যবহার করেন, তখন আপনার স্ক্রিপ্ট যে অথরাইজেশন স্কোপগুলো ব্যবহার করে, সেগুলো আপনাকে অবশ্যই আপনার Apps Script প্রজেক্টের ম্যানিফেস্ট ফাইলে ম্যানুয়ালি যোগ করতে হবে। সুস্পষ্ট স্কোপ নির্ধারণ (Setting explicit scopes) দেখুন।
ত্রুটিটি সমাধান করতে, অ্যাপস স্ক্রিপ্ট প্রজেক্টের appsscript.json ফাইলে oauthScopes অ্যারের অংশ হিসেবে উপযুক্ত অথরাইজেশন স্কোপগুলো যোগ করুন। উদাহরণস্বরূপ, spaces.messages.create মেথডটি কল করতে, নিম্নলিখিতটি যোগ করুন:
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
আপনার অ্যাডমিন কর্তৃক <URL>-এ UrlFetch কল করার অনুমতি নেই।
গুগল ওয়ার্কস্পেস অ্যাডমিনিস্ট্রেটররা বহিরাগত ডোমেইন অ্যাক্সেস নিয়ন্ত্রণ করতে একটি অ্যালাওলিস্ট ব্যবহার করতে পারেন। অ্যালাওলিস্টে URL-টি যোগ করার জন্য আপনার অ্যাডমিনিস্ট্রেটরের সাথে যোগাযোগ করুন।
অনুমতি নীতি লঙ্ঘন
এই ত্রুটিটি তখন ঘটে যখন HTMLService ব্যবহারকারী কোনো অ্যাপ্লিকেশন এমন ওয়েব এপিআই (Web API) চালানোর চেষ্টা করে যার জন্য সংবেদনশীল অনুমতির প্রয়োজন হয়, যেমন ক্যামেরা বা মাইক্রোফোন অ্যাক্সেসের জন্য navigator.mediaDevices.getUserMedia() । অ্যাপস স্ক্রিপ্ট স্যান্ডবক্সড পরিবেশ ব্যবহারকারীর নিরাপত্তা রক্ষার জন্য এই বৈশিষ্ট্যগুলিকে সীমাবদ্ধ করে।
যে কার্যকারিতার জন্য এই অনুমতিগুলির প্রয়োজন, সেটিকে একটি পৃথক ডোমেনে (অ্যাপস স্ক্রিপ্টের বাইরে) হোস্ট করুন এবং একটি নতুন উইন্ডো বা ট্যাবে খুলুন। এরপর, এই উদাহরণে দেখানো পদ্ধতি অনুযায়ী, আপনি সংগৃহীত ডেটা বা প্রতিক্রিয়াগুলি আপনার অ্যাপস স্ক্রিপ্ট অ্যাপ্লিকেশনে পুনরায় পোস্ট করতে পারেন।
কোড.জিএস
function doGet(e) { return HtmlService.createHtmlOutputFromFile('Index') .setTitle('Media Devices Example'); } function processCameraData(data) { Logger.log('Received data from client-side: ' + data); // Process data as needed }
Index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<button id="open-camera">Open Camera in New Window</button>
<script>
document.getElementById('open-camera').addEventListener('click', function() {
// URL for external domain handling camera access & posting data back.
// External page uses getUserMedia & window.opener.postMessage(...).
var externalUrl = 'https://your-external-domain.com/camera';
window.open(externalUrl, 'cameraWindow', 'width=600,height=400');
});
// Listen for messages from the external window.
window.addEventListener('message', function(event) {
// Check event.origin to ensure message is from the expected source.
if (event.origin !== 'https://your-external-domain.com') {
return;
}
console.log('Data received from external window:', event.data);
// Send data to server-side Apps Script.
google.script.run.processCameraData(event.data);
});
</script>
</body>
</html>ডিবাগিং
কিছু ত্রুটি সূক্ষ্ম হয় এবং কোনো বার্তা প্রদর্শন করে না। উদাহরণস্বরূপ, আপনার কোড হয়তো কার্যকর হতে পারে, কিন্তু ফলাফল অপ্রত্যাশিত হতে পারে। যেসব স্ক্রিপ্ট অপ্রত্যাশিতভাবে আচরণ করে, সেগুলো তদন্ত করতে নিম্নলিখিত কৌশলগুলো ব্যবহার করুন।
লগিং
স্ক্রিপ্ট চলার সময় স্ক্রিপ্ট এডিটরে থাকা ক্লাউড লগিং সার্ভিস অথবা লগার এবং কনসোল সার্ভিস ব্যবহার করে তথ্য রেকর্ড করুন।
ত্রুটি প্রতিবেদন
গুগল ক্লাউডে এরর রিপোর্টিং ব্যবহার করতে, ডিফল্ট প্রজেক্টের পরিবর্তে একটি স্ট্যান্ডার্ড, ব্যবহারকারী-পরিচালিত প্রজেক্ট ব্যবহার করুন।
আপনি যখন একটি স্ট্যান্ডার্ড প্রজেক্ট ব্যবহার করেন, তখন রানটাইম ত্রুটিগুলি স্বয়ংক্রিয়ভাবে গুগল ক্লাউড এরর রিপোর্টিং-এ রেকর্ড করা হয়। গুগল ক্লাউড কনসোলে ক্লাউড লগ এবং এরর রিপোর্ট দেখুন ।
মৃত্যুদণ্ড
গুগল অ্যাপস স্ক্রিপ্ট ক্লাউড লগ সহ প্রতিটি এক্সিকিউশন রেকর্ড করে। এক্সিকিউশনগুলো দেখতে, Executions ক্লিক করুন।
পরিষেবার অবস্থা যাচাই করা হচ্ছে
Google Workspace স্ট্যাটাস ড্যাশবোর্ডে Google Workspace পরিষেবা বিভ্রাট আছে কিনা তা পরীক্ষা করুন।
ডিবাগার এবং ব্রেকপয়েন্ট ব্যবহার করুন
আপনার স্ক্রিপ্টের সমস্যা খুঁজে বের করার জন্য, আপনি এটিকে ডিবাগ মোডে চালাতে পারেন। ডিবাগ মোডে চালালে, একটি স্ক্রিপ্ট ব্রেকপয়েন্টে পৌঁছালে থেমে যায়। এই ব্রেকপয়েন্ট হলো আপনার স্ক্রিপ্টের এমন একটি লাইন যা আপনি হাইলাইট করেছেন এবং আপনার মনে হয়েছে যে এতে কোনো সমস্যা থাকতে পারে। স্ক্রিপ্টটি যখন থামে, তখন এটি সেই নির্দিষ্ট সময়ে প্রতিটি ভেরিয়েবলের মান প্রদর্শন করে, যার ফলে আপনাকে অনেক লগিং স্টেটমেন্ট যোগ না করেই স্ক্রিপ্টের অভ্যন্তরীণ কার্যকলাপ পরীক্ষা করার সুযোগ দেয়।
একটি ব্রেকপয়েন্ট যোগ করুন
ব্রেকপয়েন্ট যোগ করতে, যে লাইনে ব্রেকপয়েন্টটি যোগ করতে চান, সেই লাইনের নম্বরের উপর মাউস রাখুন। লাইন নম্বরের বাম দিকে থাকা বৃত্তটিতে ক্লিক করুন। নিচের ছবিতে একটি স্ক্রিপ্টে যোগ করা ব্রেকপয়েন্টের উদাহরণ দেখানো হলো:

ডিবাগ মোডে একটি স্ক্রিপ্ট চালান
স্ক্রিপ্টটি ডিবাগ মোডে চালানোর জন্য, এডিটরের উপরে থাকা ‘ডিবাগ’ বোতামে ক্লিক করুন।
স্ক্রিপ্টটি ব্রেকপয়েন্টযুক্ত লাইনটি চালানোর আগে থেমে যায় এবং ডিবাগ তথ্যের একটি সারণি প্রদর্শন করে। আপনি এই সারণিটি ব্যবহার করে প্যারামিটারের মান এবং অবজেক্টে সংরক্ষিত তথ্যের মতো ডেটা পরীক্ষা করতে পারেন।
স্ক্রিপ্টটি কীভাবে চালানো হবে তা নিয়ন্ত্রণ করতে, ডিবাগার প্যানেলের শীর্ষে থাকা 'স্টেপ ইন', 'স্টেপ ওভার' এবং 'স্টেপ আউট' বাটনগুলো ব্যবহার করুন। এগুলোর সাহায্যে আপনি স্ক্রিপ্টটি একবারে এক লাইন করে চালাতে পারবেন এবং সময়ের সাথে সাথে মানগুলো কীভাবে পরিবর্তিত হচ্ছে তা পর্যবেক্ষণ করতে পারবেন।
ত্রুটি : বর্তমান লাইনের জন্য সোর্স কোড উপলব্ধ নেই।

যখন কোনো সক্রিয় ডিবাগিং ফাইল উপলব্ধ থাকে না, তখন এই ত্রুটিটি দেখা দেয়। গুগল অ্যাপস স্ক্রিপ্ট স্ক্রিপ্ট এডিটরে ডাইনামিকভাবে তৈরি জাভাস্ক্রিপ্ট (JS) স্ক্রিপ্ট প্রদর্শন করা সমর্থন করে না, যেমন eval() এবং new Function() ব্যবহার করে তৈরি করা স্ক্রিপ্টগুলো। এই স্ক্রিপ্টগুলো V8 ইঞ্জিনের মধ্যে তৈরি ও কার্যকর করা হয়, কিন্তু এডিটরে এগুলোকে স্বতন্ত্র ফাইল হিসেবে দেখানো হয় না। আপনি যদি এই স্ক্রিপ্টগুলোর ভেতরে প্রবেশ করেন, তাহলে এই ত্রুটিটির সম্মুখীন হবেন।
উদাহরণস্বরূপ, নিম্নলিখিত কোডটি বিবেচনা করুন:
function myFunction() {
eval('a=2');
}
যখন eval() কল করা হয়, তখন এর আর্গুমেন্টটিকে JS কোড হিসেবে গণ্য করা হয় এবং এটি V8 ইঞ্জিনের ভেতরে একটি ডাইনামিকভাবে তৈরি স্ক্রিপ্ট হিসেবে রান করে। আপনি যদি eval() এর ভেতরে স্টেপ-ইন করেন, তাহলে এই এররটি দেখা যায়। স্ক্রিপ্টটিতে যদি একটি //# sourceURL কমেন্ট থাকে, তাহলে কল স্ট্যাকে এর নামটি দেখানো হয়। অন্যথায়, এটি একটি নামবিহীন এন্ট্রি হিসেবে প্রদর্শিত হয়।
এরর মেসেজ থাকা সত্ত্বেও, ডিবাগিং সেশনটি সক্রিয় থাকে এবং এক্সিকিউশন চলতে পারে। এগিয়ে যেতে, স্টেপ ইন, স্টেপ আউট অথবা এক্সিকিউশন রিজুম করতে থাকুন। তবে, যতক্ষণ এক্সিকিউশন ডাইনামিক স্ক্রিপ্টের স্কোপের মধ্যে থাকে, ততক্ষণ এই এররটি দেখা যেতে থাকে। এক্সিকিউশন ডাইনামিক স্ক্রিপ্টের বাইরে চলে গেলে, এই এরর ছাড়াই ডিবাগিং চলতে থাকে।
একাধিক গুগল অ্যাকাউন্ট নিয়ে সমস্যা
আপনি যদি একই সময়ে একাধিক গুগল অ্যাকাউন্টে লগ ইন করে থাকেন, তাহলে আপনার অ্যাড-অন এবং ওয়েব অ্যাপগুলো অ্যাক্সেস করতে সমস্যা হতে পারে। অ্যাপস স্ক্রিপ্ট, অ্যাড-অন বা ওয়েব অ্যাপের জন্য মাল্টি-লগইন, অর্থাৎ একই সাথে একাধিক গুগল অ্যাকাউন্টে লগ ইন থাকা, সমর্থিত নয়।
আপনি একাধিক অ্যাকাউন্টে লগ ইন থাকা অবস্থায় অ্যাপস স্ক্রিপ্ট এডিটর খুললে , গুগল আপনাকে কাজটি চালিয়ে যাওয়ার জন্য পছন্দের অ্যাকাউন্টটি বেছে নিতে বলবে।
যদি আপনি কোনো ওয়েব অ্যাপ বা অ্যাড-অন খোলার পর একাধিক লগইন সংক্রান্ত সমস্যার সম্মুখীন হন, তাহলে নিচের সমাধানগুলোর মধ্যে একটি চেষ্টা করে দেখুন:
- আপনার সমস্ত গুগল অ্যাকাউন্ট থেকে লগ আউট করুন এবং শুধুমাত্র সেই অ্যাকাউন্টে লগ ইন করুন যেটিতে আপনার কাঙ্ক্ষিত অ্যাড-অন বা ওয়েব অ্যাপটি রয়েছে।
- গুগল ক্রোমে একটি ইনকগনিটো উইন্ডো বা এর সমতুল্য কোনো প্রাইভেট ব্রাউজিং উইন্ডো খুলুন এবং সেই গুগল অ্যাকাউন্টে লগ ইন করুন, যেটিতে আপনার কাঙ্ক্ষিত অ্যাড-অন বা ওয়েব অ্যাপটি রয়েছে।
সাহায্য পাওয়া
প্রশ্ন করতে বা ত্রুটি জানাতে আমাদের সহায়তা পৃষ্ঠাটি পরিদর্শন করুন।