گوگل اسکریپت (Google Script) – راهنمای شروع به استفاده


اگر از اپلیکیشنهای گوگل مانند گوگل شیتز (Google Sheets) یا گوگل داکز (Google Docs) استفاده میکنید، میتوانید به وسیله گوگل اسکریپت کارهایی انجام دهید که هرگز با اپلیکیشنهای دسکتاپِ مشابه قابل اجرا نیستند.
گوگل اسکریپت که به نام Google Apps Script نیز شناخته میشود، یک پلتفرم توسعه اپلیکیشن است که امکان یکپارچهسازی خدمات گوگل کلاود را فراهم ساخته است.
گوگل API-های زیادی برای هر یک از خدمات کلاود خود ارائه کرده است. با نوشتن اپلیکیشنهای کوچک گوگل میتوان به دنیای بسیار متفاوتی از ویژگیهای اضافی در مورد هر یک از این سرویسهای مختلف گوگل دسترسی یافت.
با گوگل اسکریپت چه میتوان کرد؟
یادگیری گوگل اسکریپت بسیار آسان است. در فهرست زیر تنها به معدودی از کارهایی که میتوانید با گوگل اسکریپت انجام دهید اشاره کردهایم:
- ایجاد تابعهای سفارشی در گوگل شیتز
- یکپارچهسازی گوگل شیتز یا گوگل داکز با جیمیل
- ایجاد وب اپلیکیشن و انتشار آنها روی گوگل سایتز (Google Sites)
- افزودن منوی سفارشی به گوگل داکز
- ایجاد داشبوردهای ترافیک وب در گوگل شیتز با استفاده از دادههای گوگل آنالایتیکز
- ارسال ایمیل از گوگل شیتز یا هر نوع سرویسهای دیگر گوگل
ازآنجا که سرویسهای گوگل همگی روی کلاود هستند، میتوان گوگل اسکریپتهایی از یک ویرایشگر اسکریپت منفرد ساخت. از همین کد میتوان از API-های هر کدام از سرویسهای مورد استفاده گوگل بهره گرفت. بدین ترتیب سطحی از انعطافپذیری ایجاد میشود که یافتن آن در پلتفرمهای اسکریپت نویسی دیگر دشوار است.
نوشتن نخستین اسکریپت گوگل
برای این که ببینید نوشتن اسکریپتهای گوگل تا چه حد آسان است، میتوانید مثالهای زیر را بررسی کنید. نخستین اسکریپت یک ایمیل از حساب جیمیل ارسال میکند که یک اسکریپت گوگل در آن جاسازیشده است.
- ابتدا یک مرورگر وب را باز کرده و به آدرس script.google.com بروید.
- اگر قبلاً وارد حساب کاربری جیمیل خود نشدهاید، این کار را انجام دهید.
- زمانی که وارد حساب گوگل اسکریپت خود شدید، روی New script کلیک کنید.
- در جایی که عبارت Untitled project را مشاهده کردید، نام My First Script را وارد کنید.
کد موجود در پنجره اسکریپت را پاک کرده و کد زیر را در آن وارد نمایید:
function SendAnEmail() { // Set the recipient email address var email = 'xxxxx@yahoo.com' // Create the email subject line. var subject = 'This is my first script!'; // Create the email body. var body = 'Hello, world!'; // Send an email GmailApp.sendEmail(email, subject, body); }
روی آیکون دیسک کلیک کنید تا کد ذخیره شود. سپس روی Run کلیک کنید تا آن را اجرا کنید. ممکن است برای نخستین بار هنگام اجرای اسکریپت و ارسال ایمیل از حساب جیمیل، به مجوز حساب کاربری خود نیاز داشته باشید.
همچنین ممکن است هشداری ببینید که اپلیکیشن تأیید نشده است. کافی است با کلیک روی Advanced به (Go to My First Script (unsafe بروید. از آنجا که شما همان کسی هستید که اپلیکیشن را نوشتهاید میتوانید تأیید کنید که اجرای آن امن است. ایمیلی که دریافت خواهید کرد به صورت زیر خواهد بود:
این اسکریپت از سرویس جیمیل برای ارسال ایمیل از حساب شما از طریق گوگل اسکریپت استفاده میکند. این تنها یک نمونه کوچک از شیوه ادغام گوگل اسکریپت در هر کدام از سرویسهای کلاود گوگل است.
افزودن ویژگیهای بیشتر به سرویسهای گوگل
از درون بسیاری از سرویسهای گوگل نیز میتوان به پلتفرم اسکریپت نویسی گوگل دسترسی داشت.
همان طور که قبلاً اشاره کردیم، بدین ترتیب امکان گسترش امکانات این سرویسها ایجاد میشود. برای نمونه درون گوگل شیتز میتوان از طریق کلیک روی Tools و سپس کلیک روی Script editor به ویرایشگر اسکریپت گوگل رفت.
ما قبلاً روش ایجاد تابعها و منوهای سفارشی در گوگل شیتز را معرفی کردهایم که منبع خوبی برای شروع به کار محسوب میشود. در گوگل داکز نیز همانند گوگل شیتز میتوان به ویرایشگر اسکریپت گوگل دسترسی یافت.
حتی میتوان از گوگل اسکریپت برای ایجاد افزونههای جیمیل جهت بهبود تجربه کاربری جیمیل استفاده کرد. بدین ترتیب میتوان چیزهایی مانند پنجره ارسال ایمیل را تغییر داد و یا حتی اسکریپتی نوشت که اقدام به بایگانی کردن ایمیلهای قدیمی نماید.
برای فعالسازی بخش توسعه و تست افزونههای گوگل اسکریپت باید گزینه developer add-ons را در حساب جیمیل خود فعال کنید. این کار از طریق مراجعه به بخش Settings، کلیک روی Add-ons و انتخاب Enable developer add-ons for my account ممکن است. همچنین باید روی دکمه Enable در پنجرهای که باز میشود کلیک کنید.
ایجاد افزونههای جیمیل فراتر از موضوع این مقاله است و شاید در مقالات دیگری به این موضوع نیز پرداختیم.
دسترسی به API-های گوگل اسکریپت
از درون ویرایشگر گوگل اسکریپت، میتوان با استفاده از یک شیء سراسری به هر یک از سرویسهای گوگل دسترسی یافت. برای نمونه در مثال Hello world که در بخشهای پیشین این مقاله معرفی کردیم از شیء سراسری GmailApp برای دسترسی به حساب جیمیل خود استفاده کردیم.
برای دسترسی به همه امکانات (متدها و فراخوانیهایی که از درون ویرایشگر اسکریپت گوگل قابل دسترسی هستند) کافی است سرویسهای Advanced Google را برای آن سرویس مخصوص فعال کنید.
این کار از درون ویرایشگر اسکریپت گوگل و از طریق کلیک روی Resources و Advanced Google services میسر است.
در ادامه باید روی لینک Google Cloud Platform API Dashboard در انتها کلیک کرده و سرویسها را در داشبورد نیز فعال کنید. زمانی که در داشبورد API پلتفرم کلاود گوگل قرار دارید باید روی Enable APIs and Services کلیک کرده و به دنبال نام سرویس در کتابخانه API گشته، آن را انتخاب نموده و سپس روی Enable کلیک کنید.
کافی است سرویسهای پیشرفته را یک بار برای حساب گوگل خود فعال کنید تا بتوانید از اسکریپت نویسی استفاده کنید.
اگر در این صفحه به سمت پایین یعنی جایی که کتابخانه API را فعال کردید، اسکرول کنید متوجه لینکی به نام Reference documentation میشوید. این لینک را ذخیره کنید، زیرا مثالهای ارزشمندی از ساختار و شیوه یکپارچهسازی سرویسهای پیشرفته با API-های درون اسکریپتهای گوگل ارائه کرده است.
با بررسی کتابخانه API میتوانید ببینید که چه تعداد از سرویسهای گوگل را میتوانید در اسکریپتهای خود ادغام کنید.
صدها API وجود دارند و اگر علاقهمند هستید در زمینه سرویسهای گوگل به فردی حرفهای تبدیل شوید و شیوه استفاده از اسکریپتهای گوگل را بیاموزید قطعاً مسیر مناسبی محسوب میشود.
سخن پایانی
همان طور که در این نوشته و در مثال Hello World ملاحظه کردید، یادگیری شیوه نوشتن اسکریپتهای گوگل اصلاً دشوار نیست و از آنجا که گوگل کتابخانه گستردهای از اسکریپتها به همراه راهنمایی و ارجاعات عرضه کرده است، مبنای محکمی برای آغاز کار دارید.
اگر این مطلب برایتان مفید بوده است، آموزشهای که در ادامه آمدهاند نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی
- Google Sheets — چهار اسکریپت که باعث قدرت هر چه بیشتر آن میشوند
- مجموعه آموزش های پروژه محور برنامه نویسی
- چگونه با گوگل اسکریپت، ایمیل بفرستیم؟
- Google Sheets و ساخت توابع شخصی در آن
- راهنمای جامع گوگل درایو — هر آنچه باید بدانید
==
ممنونم
ای کاش چند مثال هم ارائه میشد