1. معرفی Google Apps Script
در این لبه کد، یکی از سادهترین راههای نوشتن کدی که به فناوریهای توسعهدهنده گوگل دسترسی دارد را به شما معرفی میکنیم. همه اینها با استفاده از جاوا اسکریپت، یک زبان اصلی توسعه وب، انجام می شود. با استفاده از Google Apps Script، کدی را برای استخراج یک آدرس خیابان از سلولی در Google Sheet، ایجاد نقشه Google بر اساس آدرس، و سپس ارسال نقشه به عنوان پیوست با استفاده از Gmail مینویسید. بهترین قسمت؟ این فقط چهار خط کد خواهد بود.
چیزی که یاد خواهید گرفت
- نحوه استفاده از Google Apps Script با سرویسهای مختلف Google، مانند Google Sheets، Google Maps و Gmail.
- کد را با استفاده از ویرایشگر درون مرورگر برای Apps Script توسعه دهید.
آنچه شما نیاز دارید
- یک مرورگر وب با دسترسی به اینترنت
- یک حساب Google (حسابهای Google Workspace ممکن است به تأیید سرپرست نیاز داشته باشند)
- آشنایی اولیه با Google Sheets
- قابلیت خواندن Sheets A1 Notation
2. نظرسنجی
چگونه از این نرم افزار / آموزش استفاده خواهید کرد؟
تجربه خود را با ابزارها و APIهای برنامهنویس Google Workspace چگونه ارزیابی میکنید؟
3. بررسی اجمالی
اکنون که می دانید این کد لبه درباره چیست، دقیقاً چه کاری انجام می دهید؟
- کمی درباره Apps Script که بر اساس جاوا اسکریپت است، بیاموزید.
- یک صفحه گسترده Google Sheets ایجاد کنید.
- آدرس خیابان را در سلول سمت چپ صفحه گسترده (A1) وارد کنید.
- با نحوه باز کردن ویرایشگر Apps Script برای هر سندی آشنا شوید.
- کد Apps Script را ویرایش کنید، ذخیره کنید و اجرا کنید.
- برای مشاهده نتیجه از جیمیل استفاده کنید.
بیایید شروع کنیم.
Google Apps Script چیست؟
Google Apps Script یک پلت فرم توسعه است که ایجاد اسکریپت ها و برنامه های کوچک را که با Google Workspace ادغام می شوند، سریع و آسان می کند. با Apps Script، شما:
- کد را در جاوا اسکریپت بنویسید و به کتابخانه های داخلی برنامه های Google Workspace مانند Gmail، Calendar، Drive و غیره دسترسی پیدا کنید.
- چیزی برای نصب ندارید—ما یک ویرایشگر کد را مستقیماً در مرورگرتان به شما میدهیم و اسکریپتهای شما روی سرورهای Google اجرا میشوند.
- لازم نیست نگران موضوعات پیچیده ای مانند امنیت و مجوزهای دسترسی به داده باشید، زیرا پلتفرم آن را برای شما مدیریت می کند.
از Apps Script می توان برای ایجاد برنامه های مختلف، از ربات های چت گرفته تا برنامه های وب استفاده کرد. یکی از محبوب ترین کاربردها، گسترش عملکرد صفحه گسترده Google Sheets است. در ادامه این کد، یاد خواهید گرفت که چگونه از Apps Script برای برداشتن داده ها از صفحه گسترده و اتصال آن به سایر سرویس های Google استفاده کنید.
4. یک برگه Google ایجاد کنید و یک آدرس خیابان وارد کنید
در یک Google Sheet جدید، با دنبال کردن این دستورالعملها، یک آدرس خیابان معتبر وارد کنید:
- با استفاده از این پیوند راحت ( sheets.google.com/create ) یک برگه Google ایجاد کنید. از طرف دیگر، به Google Drive خود ( drive.google.com ) بروید و روی New > Google Sheets > صفحه گسترده خالی کلیک کنید.
- در صفحه گسترده خالی، به اولین سلول در گوشه بالا سمت چپ (A1) بروید. در ستون A و ردیف 1 قرار می گیرد. اگر نیاز به آشنایی مجدد دارید، می توانید این توضیحات مربوط به نماد A1 را بررسی کنید.
- آدرس خیابان معتبری را در سلول وارد کنید. با استفاده از آدرس خیابان، کد پستی/کد پستی یا ترکیبی از شهر و ایالت/استان، آدرسی را در جهان با مکان دقیق انتخاب کنید. در اینجا نمونه ای از آدرس در شهر نیویورک آمده است:
این تمام کاری است که باید در برگه انجام دهید. بیایید ویرایشگر را باز کنیم و کدی بنویسیم.
5. کد برنامه های اسکریپت را ویرایش کنید
اکنون که یک Google Sheet جدید دارید، وقت آن است که اسکریپت محدود شده آن را ویرایش کنید. این دستورالعمل ها را دنبال کنید:
ویرایشگر اسکریپت را باز کنید
در نوار منو، Extensions > Apps Script را انتخاب کنید تا ویرایشگر کد مرورگر برای Apps Script باز شود.
در یک برگه مرورگر جدید، ویرایشگر کد اسکریپت پیشفرض محدود به ظرف را برای برگه نشان میدهد. یک تابع پیش فرض با نام myFunction()
به طور خودکار ایجاد می شود و مکان نما شما در داخل تابع قرار می گیرد تا بتوانید شروع کنید.
یک نقشه گوگل از آدرس ایمیل کنید
کد "الگو" که به شما داده شده خالی است، پس بیایید آن را با برنامه خود جایگزین کنیم.
- در ویرایشگر اسکریپت، بلوک کد پیشفرض
myFunction()
را با کد زیر جایگزین کنید:
/** @OnlyCurrentDoc */
function sendMap() {
var sheet = SpreadsheetApp.getActiveSheet();
var address = sheet.getRange('A1').getValue();
var map = Maps.newStaticMap().addMarker(address);
GmailApp.sendEmail('YOUR_EMAIL_ADDR', 'Map', 'See below.', {attachments:[map]});
}
- آدرس ایمیل نگهدارنده مکان (
'YOUR_EMAIL_ADDR'
) را با یک آدرس معتبر جایگزین کنید. به عنوان مثال، friend@example.com . - برای ذخیره اسکریپت خود، روی ذخیره کلیک کنید .
- برای تغییر نام پروژه Apps Script خود، روی پروژه Untitled کلیک کنید، عنوانی را برای پروژه خود وارد کنید و روی تغییر نام کلیک کنید.
بررسی کد
بیایید 4 خط تابع sendMap()
که کل برنامه را تشکیل می دهد را مرور کنیم. جالب اینجاست که این کد به 3 محصول مختلف گوگل اشاره دارد.
خط اول یک نظر حاشیه نویسی است که بر مجوز تأثیر می گذارد:
/** @OnlyCurrentDoc */
اکثر اسکریپت ها قبل از اجرا از کاربر مجوز می خواهند. این مجوزها آنچه را که کاربر به اسکریپت اجازه می دهد انجام دهد را کنترل می کند. خط اول یک نظر حاوی یک حاشیه نویسی اختیاری است که به Apps Script دستور می دهد دسترسی به صفحه گسترده فعلی را محدود کند (برخلاف همه صفحات گسترده کاربر). هنگامی که فقط با یک فایل کار می کنید، همیشه بهترین تمرین این است که این حاشیه نویسی را اضافه کنید.
کد از یک اعلان تابع جاوا اسکریپت معمولی برای sendMap()
استفاده می کند:
function sendMap() {
خط بعدی سرویس صفحه گسترده قابل دسترسی از Apps Script از طریق شی SpreadsheetApp
را فراخوانی می کند. برگه برگشتی به متغیری با همین نام اختصاص داده می شود. متد getActiveSheet()
یک مرجع به شیت فعلی دریافت می کند و آن را در sheet
متغیر ذخیره می کند.
var sheet = SpreadsheetApp.getActiveSheet();
با شی sheet
، محدوده سلول (یک سلول) را در نماد A1 با getRange()
ارجاع می دهیم. "محدوده" گروهی از سلول ها است، شامل یک سلول واحد مانند سلول A1
(هونی که آدرس را در آن وارد کردیم). برای واکشی آنچه در داخل محدوده است، متد getValue()
مقدار سلول بالا سمت چپ محدوده را برمیگرداند و مقدار را به address
متغیر اختصاص میدهد. همچنین میتوانید آدرسهای بیشتری را اضافه کنید و از سلولهای مختلف بخوانید.
var address = sheet.getRange('A1').getValue();
خط سوم کد با استفاده از شی Maps
به سرویس نقشه های گوگل متصل می شود. newStaticMap()
یک شیء نقشه ایستا ایجاد می کند و متد addMarker()
یک پین به نقشه با استفاده از آدرس موجود در برگه اضافه می کند.
var map = Maps.newStaticMap().addMarker(address);
در نهایت، سرویس Gmail از طریق شیء MailApp
، متد sendEmail()
را فراخوانی میکند تا ایمیلی را ارسال کند که شامل هر دو متن «به زیر مراجعه کنید». و تصویر نقشه به عنوان پیوست
GmailApp.sendEmail('friend@example.com', 'Map', 'See below.', {attachments:[map]});
}
6. برنامه Google Sheets، Maps و Gmail را اجرا کنید
پس از نامگذاری و ذخیره، زمان اجرای تابع فرا می رسد. در بالای ویرایشگر، مطمئن شوید که sendMap()
از لیست توابع انتخاب شده است و روی Run کلیک کنید.
یکی از ویژگیهایی که توسعهدهندگان Apps Script قدردانی میکنند این است که شما نیازی به نوشتن کد مجوز ندارید که به برنامه اجازه دسترسی به دادههای کاربر را میدهد. اگرچه Apps Script این را مدیریت میکند، کاربران برنامه شما همچنان باید به اسکریپت اجازه دسترسی به صفحات گسترده خود و ارسال ایمیل از طریق Gmail را بدهند. اولین گفتگوی مجوز به این شکل است:
برای ادامه روی بررسی مجوزها کلیک کنید.
سپس پنجره گفتگوی OAuth2 را دریافت خواهید کرد که از شما اجازه دسترسی به برگه و ارسال ایمیل از طرف شما را می خواهد:
پس از اعطای مجوز، اسکریپت کامل می شود.
حساب ایمیلی را که در آن پیام خود را ارسال کرده اید بررسی کنید، و باید ایمیلی با موضوع "نقشه" و پیامی به شکل زیر پیدا کنید:
هنگامی که پیوست را در پیام ایمیل باز می کنید، باید یک نقشه گوگل با یک پین در آدرسی که در برگه وارد کرده اید دریافت کنید:
تنها با چهار خط کد، به 3 محصول مختلف Google به روشی معنادار دسترسی پیدا کردید.
7. منابع اضافی
کدهای ارائه شده در این codelab نیز در مخزن GitHub آن در github.com/googleworkspace/apps-script-intro-codelab موجود است. در زیر منابع بیشتری وجود دارد که به شما کمک میکند تا در مطالبی که در این نرمافزار پوشش داده شده است عمیقتر شوید و راههای دیگر دسترسی برنامهنویسی به ابزارهای توسعهدهنده Google را کشف کنید.
مستندات
- سایت اسناد Google Apps Script
- اسکریپت برنامه ها: سرویس جیمیل
- اسکریپت برنامه ها: سرویس صفحه گسترده
- Apps Script: Maps Service
ویدئوها
اخبار و به روز رسانی
- وبلاگ توسعه دهندگان Google Workspace
- Twitter: Google Workspace Developers (@workspacedevs)
کدهای دیگر
مقدماتی
- [کاربرگنگار Google] اصول اسکریپت برنامهها با Google Sheets
- [REST APIs] از Google Workspace و Google API برای دسترسی به فایلها و پوشهها در Google Drive خود استفاده کنید
متوسط
- [Apps Script] افزونههای Google Workspace برای Gmail
- [Apps Script] رباتهای سفارشی برای گپ Hangouts
- [REST APIs] از Google Sheets به عنوان ابزار گزارش برنامه خود استفاده کنید
- [REST APIs] ارائه های Google Slides را با استفاده از BigQuery API ایجاد کنید