এই পৃষ্ঠায় ফর্ম-সম্পর্কিত এই কাজগুলো কীভাবে সম্পাদন করতে হয় তা বর্ণনা করা হয়েছে:
- ফর্মটি প্রকাশ করুন যাতে উত্তরদাতারা এটি দেখতে পারেন।
- আপনার ফর্মের একজন উত্তরদাতা খুঁজুন
- আপনার ফর্মটি আরও বেশি উত্তরদাতাদের সাথে শেয়ার করুন
- আপনার ফর্ম থেকে উত্তরদাতাদের সরিয়ে দিন
- ফর্মটি 'লিঙ্কসহ যে কারো' কাছ থেকে প্রতিক্রিয়া গ্রহণ করছে কিনা তা পরীক্ষা করুন।
- একটি ফর্ম বন্ধ করুন
- একটি ফর্ম অপ্রকাশিত করুন
- একটি ফর্মের উত্তর গ্রহণ করা বন্ধ করুন
- ফর্মটি লিগ্যাসি ফর্ম কিনা তা পরীক্ষা করুন
শুরু করার আগে
এই পৃষ্ঠার কাজগুলো শুরু করার আগে নিচের কাজগুলো সম্পন্ন করুন:
ফর্ম আইডিটি নিন। আপনি যখন
forms.createব্যবহার করে একটি ফর্ম তৈরি করেন, তখন রেসপন্সেরformIdফিল্ডে ফর্ম আইডিটি ফেরত আসে।
ফর্মটি প্রকাশ করুন যাতে উত্তরদাতারা এটি দেখতে পারেন।
আপনি forms.setPublishSettings মেথড ব্যবহার করে একটি বিদ্যমান ফর্ম প্রকাশ করতে পারেন।
ফর্ম আইডি সহ
forms.setPublishSettingsমেথডটি কল করুন।
বিশ্রাম
নমুনা অনুরোধের মূল অংশ
{
"publishSettings": {
"isPublished": true,
"isAcceptingResponses": true
}
}
অ্যাপস স্ক্রিপ্ট
/**
* Publishes a Google Form using its URL.
*/
function publishMyForm() {
// Replace with the URL of your Google Form
const formUrl = 'https://docs.google.com/forms/d/YOUR_FORM_ID/edit';
try {
const form = FormApp.openByUrl(formUrl);
// Publish the form. This also enables accepting responses.
form.setPublished(true);
Logger.log(`Form "${form.getTitle()}" published successfully.`);
// Optional: Verify the state
if (form.isPublished()) {
Logger.log('Form is now published.');
}
if (form.isAcceptingResponses()) {
Logger.log('Form is now accepting responses.')
}
} catch (error) {
Logger.log(`Error publishing form: ${error}`);
}
}
পাইথন
নোড.জেএস
আপনার ফর্মের উত্তরদাতাদের খুঁজুন
আপনি Form.getPublishedReaders() ব্যবহার করে রেসপন্ডার অ্যাক্সেস (PUBLISHED_READER রোল) আছে এমন সমস্ত ব্যবহারকারীর একটি তালিকা পেতে পারেন। এটি ইউজার অবজেক্টের একটি অ্যারে রিটার্ন করে।
বিশ্রাম
অনুরোধ URL-এর শেষে includePermissionsForView=published কোয়েরি প্যারামিটারটি যুক্ত করুন।
অ্যাপস স্ক্রিপ্ট
/**
* Gets and logs the email addresses of all responders for a form.
*/
function listResponders() {
// Replace with the URL of your Google Form
const formUrl = 'https://docs.google.com/forms/d/YOUR_FORM_ID/edit';
try {
const form = FormApp.openByUrl(formUrl);
// Get the array of User objects representing responders
const responders = form.getPublishedReaders();
// Log the responders
Logger.log("The following can respond to the form");
responders.forEach(responder => Logger.log(responder.getEmail()));
return responders;
} catch (error) {
Logger.log(`Error getting responders: ${error}`);
}
}
পাইথন
নোড.জেএস
আপনার ফর্মটি আরও বেশি উত্তরদাতাদের সাথে শেয়ার করুন
কোনো ফর্মে উত্তরদাতাদের যুক্ত করতে, যাতে তারা সেটি খুলতে ও উত্তর দিতে পারে, আপনি Drive-এর permissions.create মেথডটি ব্যবহার করতে পারেন।
ফর্ম আইডি এবং অ্যাক্সেস সেটিংস সহ
permissions.createমেথডটি কল করুন।
বিশ্রাম
নমুনা অনুরোধের মূল অংশ
{
"view": "published",
"role": "reader",
"type": "user",
"emailAddress": "user@example.com"
}
অ্যাপস স্ক্রিপ্ট
/**
* Adds a single responder to a form using their email address.
*/
function addSingleResponderByEmail() {
// Replace with the URL of your Google Form
const formUrl = 'https://docs.google.com/forms/d/YOUR_FORM_ID/edit';
// Replace with the responder's email address
const responderEmail = 'responder@example.com';
try {
const form = FormApp.openByUrl(formUrl);
// Add the user as a responder
form.addPublishedReader(responderEmail);
Logger.log(`Added ${responderEmail} as a responder to form "${
form.getTitle()}".`);
} catch (error) {
Logger.log(`Error adding responder: ${error}`);
}
}
পাইথন
নোড.জেএস
আপনার ফর্ম থেকে উত্তরদাতাদের সরিয়ে দিন
আপনি ইমেল ঠিকানা ব্যবহার করে অথবা একটি ইউজার অবজেক্টের মাধ্যমে স্বতন্ত্র উত্তরদাতাদের অপসারণ করতে পারেন। কোনো উত্তরদাতাকে অপসারণ করলে, ডোমেইন শেয়ারিং বা শেয়ার্ড ড্রাইভ অ্যাক্সেসের মতো অন্য কোনো উপায়ে তার অ্যাক্সেস না থাকলে, ফর্মটি দেখা এবং জমা দেওয়ার ক্ষমতাও তিনি হারিয়ে ফেলেন।
ইমেল ঠিকানা দ্বারা একজন উত্তরদাতাকে অপসারণ করুন
বিশ্রাম
DELETE https://www.googleapis.com/drive/v3/files/{fileId}/permissions/{permissionId}
পূর্বে বর্ণিত পদ্ধতি অনুযায়ী উত্তরদাতাদের তালিকা তৈরি করে permissionID খুঁজে পাওয়া যাবে।
অ্যাপস স্ক্রিপ্ট
/**
* Removes a single responder from a form using their email address.
*/
function removeSingleResponderByEmail() {
// Replace with the URL of your Google Form
const formUrl = 'https://docs.google.com/forms/d/YOUR_FORM_ID/edit';
// Replace with the responder's email address to remove
const responderEmailToRemove = 'responder-to-remove@example.com';
try {
const form = FormApp.openByUrl(formUrl);
// Remove the user as a responder
form.removePublishedReader(responderEmailToRemove);
Logger.log(`Removed ${responderEmailToRemove} as a responder from form "${
form.getTitle()}".`);
} catch (error) {
Logger.log(`Error removing responder: ${error}`);
}
}
পাইথন
নোড.জেএস
ফর্মটি 'লিঙ্কসহ যে কারো' কাছ থেকে প্রতিক্রিয়া গ্রহণ করে কিনা তা পরীক্ষা করুন।
ফর্মটি লিঙ্কের মাধ্যমে যে কারো কাছ থেকে প্রতিক্রিয়া গ্রহণ করে কিনা তা পরীক্ষা করতে, আপনাকে ড্রাইভ অ্যাডভান্সড সার্ভিসটি চালু করতে হবে।
- ড্রাইভ অ্যাডভান্সড সার্ভিস চালু করুন:
- আপনার অ্যাপস স্ক্রিপ্ট প্রজেক্টটি খুলুন।
- সার্ভিসেস-এ ক্লিক করুন ( সার্ভিস-এর পাশের প্লাস আইকন)।
- Drive API খুঁজুন এবং Add-এ ক্লিক করুন।
- যোগ করুন-এ ক্লিক করুন।
অ্যাপস স্ক্রিপ্ট
function isAnyoneWithLinkResponder(formId) {
let permissions = Drive.Permissions.list(formId, { includePermissionsForView: 'published' }).permissions;
if (permissions) {
for (const permission of permissions) {
if (permission.type === 'anyone' && permission.view === 'published' && permission.role === 'reader') {
return true;
}
}
}
return false;
}
পাইথন
নোড.জেএস
‘লিঙ্কসহ যে কেউ’ ফর্মটিতে উত্তর দিতে পারবে, এটি সেট করতে:
অ্যাপস স্ক্রিপ্ট
function setAnyoneWithLinkResponder(formId) {
Drive.Permissions.create({
type: 'anyone',
view: 'published',
role: 'reader',
}, formId);
}
পাইথন
নোড.জেএস
'লিঙ্কসহ যে কেউ' বিকল্পটি সরাতে ফর্মটিতে উত্তর দিতে পারেন:
অ্যাপস স্ক্রিপ্ট
function removeAnyoneWithLinkResponder(formId) {
let permissions = Drive.Permissions.list(formId, { includePermissionsForView: 'published' }).permissions;
if (permissions) {
for (const permission of permissions) {
if (permission.type === 'anyone' && permission.role === 'reader') {
Drive.Permissions.remove(formId, permission.id);
}
}
}
}
পাইথন
নোড.জেএস
একটি ফর্ম বন্ধ করুন
একটি ফর্ম অপ্রকাশ করতে, আপনি Forms.setPublished(false) মেথডটি ব্যবহার করেন। (/apps-script/reference/forms/form#setPublished(Boolean)) একটি ফর্ম অপ্রকাশ করলে তা অনুপলব্ধ হয়ে যায় এবং স্বয়ংক্রিয়ভাবে উত্তর গ্রহণ করা বন্ধ করে দেয়।
বিশ্রাম
নমুনা অনুরোধের মূল অংশ
POST https://forms.googleapis.com/v1/forms/{formId}:setPublishSettings
{
"publishSettings": {
"publishState": {
"isPublished": false
}
}
}
অ্যাপস স্ক্রিপ্ট
/**
* Unpublishes a Google Form using its URL.
*/
function unpublishMyForm() {
// Replace with the URL of your Google Form
const formUrl = 'https://docs.google.com/forms/d/YOUR_FORM_ID/edit';
try {
const form = FormApp.openByUrl(formUrl);
// Unpublish the form. This also disables accepting responses.
form.setPublished(false);
Logger.log(`Form "${form.getTitle()}" unpublished successfully.`);
// Optional: Verify the state
if (!form.isPublished()) {
Logger.log('Form is now unpublished.');
}
if (!form.isAcceptingResponses()) {
Logger.log('Form is no longer accepting responses.');
}
} catch (error) {
Logger.log(`Error unpublishing form: ${error}`);
}
}
পাইথন
নোড.জেএস
কোনো ফর্মকে অপ্রকাশ না করে তার উত্তর গ্রহণ বন্ধ করতে, আপনি Form.setAcceptingResponses(false) মেথডটি ব্যবহার করতে পারেন। আপনার ফর্মে উত্তরদাতারা বন্ধ ফর্মের পৃষ্ঠা এবং বার্তাটি দেখতে পাবেন।
বিশ্রাম
নমুনা অনুরোধের মূল অংশ
POST https://forms.googleapis.com/v1/forms/{formId}:setPublishSettings
{
"publishSettings": {
"publishState": {
"isPublished": true,
"isAcceptingResponses": false
}
}
}
অ্যাপস স্ক্রিপ্ট
/**
* Stop a Google Form from accepting responses using its URL.
*/
function closeMyFormForAcceptingResponses() {
// Replace with the URL of your Google Form
const formUrl = 'https://docs.google.com/forms/d/YOUR_FORM_ID/edit';
try {
const form = FormApp.openByUrl(formUrl);
// This disables the form for accepting responses.
form.setAcceptingResponses(false);
Logger.log(`Form "${form.getTitle()}" closed for accepting responses successfully.`);
// Optional: Verify the state
if (form.isPublished()) {
Logger.log('Form is still published.');
}
if (!form.isAcceptingResponses()) {
Logger.log('Form is no longer accepting responses.');
}
} catch (error) {
Logger.log(`Error unpublishing form: ${error}`);
}
}
পাইথন
নোড.জেএস
ফর্মটি লিগ্যাসি ফর্ম কিনা তা পরীক্ষা করুন
লিগ্যাসি ফর্ম হলো সেইসব ফর্ম যেগুলিতে publishSettings ফিল্ড থাকে না, অপরদিকে নতুন তৈরি করা সমস্ত ফর্মে পাবলিশ সেটিংস থাকে।
ফর্মটি পাবলিশিং সমর্থন করে কিনা তা নির্ধারণ করে ফর্মটি লিগ্যাসি কিনা তা যাচাই করুন। setPublished(enabled) ও isPublished() মেথড এবং রেসপন্ডার পারমিশন সক্রিয় আছে কিনা তা নির্ধারণ করতে এই মেথডটি ব্যবহৃত হয়।
অ্যাপস স্ক্রিপ্ট
/**
* Checks if a form supports advanced responder permissions (i.e., is not a legacy form).
*/
function checkIfFormSupportsPublishing() {
// TODO(developer): Replace the URL with your own.
const formUrl = 'https://docs.google.com/forms/d/YOUR_FORM_ID/edit';
try {
const form = FormApp.openByUrl(formUrl);
// Checks whether the form supports publishing or not and logs it to the console.
const supportsPublishing = form.supportsAdvancedResponderPermissions();
if (supportsPublishing) {
Logger.log(`Form "${form.getTitle()}" supports publishing (not a legacy
form).`);
} else {
Logger.log(`Form "${form.getTitle()}" is a legacy form (does not support
publishing).`);
}
return supportsPublishing;
} catch (error) {
Logger.log(`Error unpublishing form: ${error}`);
}
}