تطبيقات جوجل سكريبت (بالإنجليزية: Google Apps Script) هي لغة برمجة نصية بسيطة نوعًا ما تساعد على تطوير تطبيقات مفيدة على منصة قوقل ورك-سبيس (Google Workspace). تتيح لك البرمجة بلغة جافا سكريبت، وتدعم كذلك العديد من المميزات التي يُوفرها محرك جافاسكربت V8 المُدمج في قوقل كروم[1]؛ تعمل هذه الخدمة سحابة جوجل أي لا يتم تفيذ الأوامر البرمجية على جهازك بل على خوادم قوقل. وفقًا لتطبيقات جوجل سكريبت فهي تُوفر طرق سهلة لإتمام المهام في منصة جوجل كما توفر طرقًا أسهل لخدمة الطرف الثالث.[2] تطبيقات جوجل سكريبت هي أيضا أداة قوية تُمكن من إضافات مستندات جوجل وجداول البيانات والعروض التقديمية [3]، والتعامل مع الملفات على قوقل درايف.[4]
تستخدم تطببقات جوجل سكريبت واجهة بسيطة إلى حد ما، كما تعتمد على خدمات DocList وكذلك خدمات Google Drive.
وهذا مثال على أحد أكواد تطبيقات جوجل سكريبت التي تعتمد على جافا سكريبت بشكل مباشر:
.
function doGet(e) {
var app = UiApp.createApplication();
var scrollPanel = app.createScrollPanel(); // Scroll Panel is a Google Web Toolkit Widget
tree = app.createTree(); // Tree is a Google Web Toolkit Widget
tree.addItem(buildTree(app, "Enterprise 2.0 - Saqib"));
scrollPanel.add(tree);
scrollPanel.setHeight("500");
app.add(scrollPanel);
return app;
}
function buildTree(a, searchTerm) {
var tree = a.createTreeItem(); // TreeItem is Google Web Toolkit Widget
tree.setText(searchTerm);
// Use of the Google Apps Script DocList Service to retrieve the collections.
var folders = DocsList.getFolder(searchTerm).getFolders();
for (var i = 0; i < folders.length; i++) {
tree.addItem(buildTree(a, folders[i].getName())).setState(true, true);
}
var files = DocsList.getFolder(searchTerm).getFiles();
for (var i = 0; i < files.length; i++) {
if (files[i].getType() == "document") {
urlBase = "https://docs.google.com/document/edit?id=";
iconHTML = "https://docs.google.com/images/doclist/icon_7_document_list.png";
}
else if (files[i].getType() == "spreadsheet") {
urlBase = "https://spreadsheets.google.com/ccc?key=";
iconHTML = "https://docs.google.com/images/doclist/icon_7_spreadsheet_list.png";
}
else if (files[i].getType() == "presentation") {
urlBase = "https://docs.google.com/present/edit?id=";
iconHTML = "https://docs.google.com/images/doclist/icon_7_presentation_list.png";
}
else if (files[i].getType() == "drawing") {
urlBase = "https://docs.google.com/drawings/edit?id=";
iconHTML = "https://docs.google.com/images/doclist/icon_7_drawing_list.png";
}
else {
urlBase = "https://docs.google.com/fileview?id=";
iconHTML = "https://docs.google.com/images/doclist/icon_7_generic_list.png";
}
var image = a.createImage(iconHTML);
var fileLabel = a.createAnchor(files[i].getName(), urlBase+ files[i].getId());
var fileLabelPanel = a.createHorizontalPanel();
fileLabelPanel.add(image);
fileLabelPanel.add(fileLabel);
tree.addItem(fileLabelPanel).setState(true, true);
}
return tree;
}
أما دمج HTML مع GAS وGWT فيعطي الكود التالي:[8]
function doGet() {
var app = UiApp.createApplication();
app.add(app.createHTML("'''Hello World!'''"));
return app;
}
في آذار/مارس 2014، أدخلت جوجل إضافات جديدة لمنصتها على غرار المستندات والأوراق، كما أضافت وظائف جديدة تُتيح للمستخدمين التحرر بشكل أكبر من قبيل دمج مهام سير العمل والرسوم البيانية... كل إضافات جوجل بُنيت 100% بـتطبيقات جوجل سكريبت أو ببساطة تم الاعتماد عليها لعرض واجهة مستخدم بسيطة يسهل على المحررين التعامل معها لأداء معظم مهامهم.[9][10]