इस पेज पर, फ़ॉर्म से जुड़े इन टास्क को पूरा करने का तरीका बताया गया है:
- फ़ॉर्म को पब्लिश करें, ताकि जवाब देने वाले लोग उसे ऐक्सेस कर सकें
- अपने फ़ॉर्म में जवाब देने वाले व्यक्ति को ढूंढना
- जवाब देने वाले ज़्यादा लोगों के साथ अपना फ़ॉर्म शेयर करना
- जवाब देने वालों को अपने फ़ॉर्म से हटाना
- देखें कि फ़ॉर्म में 'जिसके पास लिंक है' विकल्प चुना गया हो, ताकि सभी लोग जवाब दे सकें
- फ़ॉर्म बंद करना
- फ़ॉर्म को अनपब्लिश करना
- किसी फ़ॉर्म में जवाब स्वीकार करना बंद करना
- यह देखना कि कोई फ़ॉर्म लेगसी फ़ॉर्म है या नहीं
शुरू करने से पहले
इस पेज पर दिए गए टास्क पूरे करने से पहले, ये टास्क पूरे करें:
फ़ॉर्म का आईडी पाएं.
forms.create
का इस्तेमाल करके फ़ॉर्म बनाने पर, जवाब केformId
फ़ील्ड में फ़ॉर्म आईडी दिखता है.
फ़ॉर्म को पब्लिश करें, ताकि जवाब देने वाले लोग उसे ऐक्सेस कर सकें
forms.setPublishSettings
तरीके का इस्तेमाल करके, किसी मौजूदा फ़ॉर्म को पब्लिश किया जा सकता है.
फ़ॉर्म आईडी के साथ
forms.setPublishSettings
तरीके को कॉल करें.
REST
अनुरोध के मुख्य हिस्से का उदाहरण
{
"publishSettings": {
"isPublished": true,
"isAcceptingResponses": true
}
}
Apps Script
/**
* 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}`);
}
}
Python
Node.js
अपने फ़ॉर्म का जवाब देने वाले लोगों को ढूंढना
Form.getPublishedReaders() का इस्तेमाल करके, उन सभी उपयोगकर्ताओं की सूची वापस पाई जा सकती है जिनके पास जवाब देने वाले व्यक्ति के तौर पर ऐक्सेस है (PUBLISHED_READER भूमिका). इससे उपयोगकर्ता ऑब्जेक्ट का एक कलेक्शन मिलता है.
REST
क्वेरी पैरामीटर includePermissionsForView=published
को अनुरोध यूआरएल में जोड़ें.
Apps Script
/**
* 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("Following can respond to the form");
responders.forEach(responder => Logger.log(responder.getEmail()));
return responders;
} catch (error) {
Logger.log(`Error getting responders: ${error}`);
}
}
Python
Node.js
जवाब देने वाले ज़्यादा लोगों के साथ अपना फ़ॉर्म शेयर करना
जवाब देने वाले लोगों को किसी फ़ॉर्म में जोड़ने के लिए, Drive permissions.create
तरीके का इस्तेमाल किया जा सकता है. इससे वे फ़ॉर्म को खोलकर उसका जवाब दे पाएंगे.
फ़ॉर्म आईडी और ऐक्सेस सेटिंग के साथ
permissions.create
तरीके को कॉल करें.
REST
अनुरोध के मुख्य हिस्से का उदाहरण
{
"view": "published",
"role": "reader",
"type": "user",
"emailAddress": "user@example.com"
}
Apps Script
/**
* 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}`);
}
}
Python
Node.js
जवाब देने वालों को अपने फ़ॉर्म से हटाना
जवाब देने वाले किसी व्यक्ति को उसके ईमेल पते से या User ऑब्जेक्ट का इस्तेमाल करके हटाया जा सकता है. जवाब देने वाले व्यक्ति को हटाने पर, उसके पास फ़ॉर्म देखने और सबमिट करने का विकल्प नहीं रहता. हालांकि, अगर उसके पास डोमेन शेयर करने या शेयर किए गए ड्राइव का ऐक्सेस जैसे अन्य तरीकों से ऐक्सेस है, तो वह फ़ॉर्म देख और सबमिट कर सकता है.
ईमेल पते से किसी एक जवाब देने वाले व्यक्ति को हटाना
REST
DELETE https://www.googleapis.com/drive/v3/files/{fileId}/permissions/PERMISSION
permissionID को 'जवाब देने वालों की सूची' में जाकर देखा जा सकता है. इसके बारे में पहले बताया जा चुका है
Apps Script
/**
* 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}`);
}
}
Python
Node.js
देखें कि फ़ॉर्म में 'जिसके पास लिंक है' विकल्प चुना गया हो, ताकि कोई भी व्यक्ति जवाब दे सके
यह देखने के लिए कि क्या फ़ॉर्म का लिंक रखने वाला कोई भी व्यक्ति जवाब दे सकता है, आपको Drive की ऐडवांस सेवा चालू करनी होगी.
- Drive की ऐडवांस सेवा चालू करें:
- अपना Apps Script प्रोजेक्ट खोलें.
- सेवाएं पर क्लिक करें. यह सेवा के बगल में मौजूद प्लस आइकॉन है.
- Drive API ढूंढें और जोड़ें पर क्लिक करें.
- जोड़ें पर क्लिक करें.
Apps Script
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;
}
Python
Node.js
'जिनके पास लिंक है' विकल्प को सेट करने के लिए, यह तरीका अपनाएं:
Apps Script
function `setAnyoneWithLinkResponder`(formId) {
Drive.Permissions.create({
type: 'anyone',
view: 'published',
role: 'reader',
}, formId);
}
Python
Node.js
'जिसके पास लिंक है वह जवाब दे सकता है' सेटिंग हटाने के लिए:
Apps Script
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);
}
}
}
}
Python
Node.js
फ़ॉर्म बंद करना
किसी फ़ॉर्म को अनपब्लिश करने के लिए, Forms.setPublished(false) तरीके का इस्तेमाल करें. {/apps-script/reference/forms/form#setpublishedenabled} किसी फ़ॉर्म को अनपब्लिश करने पर, वह उपलब्ध नहीं रहता. साथ ही, उस पर जवाब देने की सुविधा अपने-आप बंद हो जाती है.
REST
अनुरोध के मुख्य हिस्से का उदाहरण
POST https://forms.googleapis.com/v1/forms/{formId}:setPublishSettings
{
"publishSettings": {
"publishState": {
"isPublished": false
}
}
}
Apps Script
/**
* 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}`);
}
}
Python
Node.js
फ़ॉर्म को अनपब्लिश किए बिना, उसके लिए जवाब स्वीकार करना बंद करने के लिए, Form.setAcceptingResponses(false)
तरीके का इस्तेमाल किया जा सकता है.
आपके फ़ॉर्म में जवाब देने वाले लोगों को, बंद किए गए फ़ॉर्म का पेज और मैसेज दिखेगा.
REST
अनुरोध के मुख्य हिस्से का उदाहरण
POST https://forms.googleapis.com/v1/forms/{formId}:setPublishSettings
{
"publishSettings": {
"publishState": {
"isPublished": true,
"isAcceptingResponses": false
}
}
}
Apps Script
/**
* 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}`);
}
}
Python
Node.js
यह देखना कि कोई फ़ॉर्म लेगसी फ़ॉर्म है या नहीं
लेगसी फ़ॉर्म ऐसे फ़ॉर्म होते हैं जिनमें publishSettings फ़ील्ड नहीं होता. हालांकि, नए बनाए गए सभी फ़ॉर्म में पब्लिश करने की सेटिंग होती है.
यह पता लगाएं कि कोई फ़ॉर्म लेगसी है या नहीं. इसके लिए, यह देखें कि फ़ॉर्म में पब्लिश करने की सुविधा काम करती है या नहीं. इस तरीके का इस्तेमाल यह तय करने के लिए किया जाता है कि setPublished(enabled)
और isPublished()
तरीके और जवाब देने वाले की अनुमतियां चालू हैं या नहीं.
Apps Script
/**
* 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}`);
}
}
Python
Node.js