समझिए
दो तरह के scripts
Bound script — किसी एक file (Sheet, Doc, Form या Slides) से जुड़ा होता है।
- file के अंदर से बनता है: Extensions → Apps Script।
- "active" helpers जैसे
SpreadsheetApp.getActiveSpreadsheet()इस्तेमाल कर सकता है। - उस file में custom menu जोड़ सकता है और
onOpen/onEdittriggers चला सकता है। - कोई file की copy बनाए तो script भी साथ copy हो जाता है।
Standalone script — Drive में अपना अलग project।
- script.google.com → New project से बनता है।
- किसी file से जुड़ा नहीं, इसलिए files को ID से खोलता है:
SpreadsheetApp.openById('...')। - कई files पर काम करने वाले jobs या web apps के लिए अच्छा।
आसान नियम: automation एक spreadsheet का है तो bound script लें। अगर tool कई files पर काम करता है तो standalone लें।
Editor की सैर
| हिस्सा | क्या करता है |
|---|---|
| Files (बाएँ) | .gs files में code; .html files में dialogs और web apps के pages। + से और जोड़ें। |
| Libraries / Services | shared libraries या advanced Google services (जैसे Drive API) जोड़ें। |
| Function dropdown + Run | कौन-सा function चलाना है चुनें, फिर Run दबाएँ। |
| Debug | breakpoints के साथ step-by-step चलाएँ। |
| Execution log | मौजूदा run का console.log / Logger.log output दिखाता है। |
| Triggers (घड़ी icon) | functions को schedule करें या events पर चलाएँ। |
| Executions (list icon) | हर run का इतिहास — status और errors के साथ। |
| Project Settings (gear) | time zone, runtime और Script Properties (keys और settings के लिए)। |
| Deploy | web app, add-on या API executable के रूप में publish करें। |
Authorization: पहली बार का permission
कोई script पहली बार किसी service (Sheets, Gmail, Drive…) को इस्तेमाल करता है तो Google permission माँगता है:
- Review permissions पर click करें और अपना account चुनें।
- अपने scripts के लिए "Google hasn't verified this app" दिख सकता है। Advanced → Go to (project name) पर click करें। personal scripts के लिए यह सामान्य है — लेकिन ऐसा सिर्फ़ उसी code के लिए करें जो आपने लिखा है या जिस पर भरोसा है।
- Allow पर click करें।
बाद में code में कोई नई service जोड़ेंगे तो Google फिर पूछेगा।
Time zone सेट करें
Project Settings में time zone (GMT+05:30) India Standard Time (या अपना) सेट करें। तारीख़ें और समय-आधारित triggers इसी setting पर चलते हैं — "trigger ग़लत समय पर चला" की आम वजह ग़लत time zone होती है।
करके देखें: standalone script से शीट खोलें
function readFromAnotherFile() {
// Copy the ID from the sheet URL: docs.google.com/spreadsheets/d/<THIS_PART>/edit
const ss = SpreadsheetApp.openById('PASTE_SHEET_ID_HERE');
const name = ss.getName();
console.log('Opened: ' + name);
}
मुख्य बातें
- Bound = एक file के अंदर; standalone = अपना अलग project।
- Standalone scripts files को "active" से नहीं, ID से खोलते हैं।
- कुछ काम न करे तो Executions देखें — error वहीं दर्ज होता है।