Форум АСУ в Україні

форум з автоматизації для викладачів, студентів та спеціалістів
Сьогодні: 28 березня 2024, 14:13

Часовий пояс UTC + 2 годин [ DST ]




Створити нову тему Відповісти  [ 3 повідомлень ] 
Автор Повідомлення
 Тема повідомлення: Google Apps Script
ПовідомленняДодано: 15 травня 2014, 22:26 
Офлайн
Викладач

З нами з: 29 листопада 2013, 17:11
Повідомлення: 5033
Передумова.
У процесі розробки інтерактивного словника почав розбиратися з новими для мене WEB технологіями. Я практично аматор в даній області, ну не такий вже зовсім, але не володію практикою розробки ні ВЕБ-серверів ні Веб-сторінок. До цього довелося працювати з Java Script, найбільше при розробці проекту на SCADA Integraxor (http://www.integraxor.com), там заціпив ще теми HTML (+CSS), трохи Ajax, завсім трохи Json і SVG. Заціпив так, що проект був дороблений до кінця, правда кінцевий замовник "кинув" мого підрядника (зі мною підрядник розрахувався повністю), тому подальша доля системи мені невідома. Зараз же приходиться реалізовувати серверну частину самостійно (в Integraxor за це відповідав ВЕБ-сервер СКАДА), а враховуючи що хостінг штука платна і з PHP і MySQL та іншими движками я не знайомий, я вирішив опробувати "шарові" ресурси Google які інтегруються в єдиний проект тими же сервісами Google.
Оскільки проект інтерактивного словника зараз на етапі розробки, а я на етапі навчання і цей процес може у будь який момент витиснутися більш приоритетною задачою, вирішив тут завести такий собі конспектик. Хто хоче - приєднуйтеся до теми, але переше повідомлення я буду правити.
Ця тема присвячена Google Apps Script .

Посилання.


Догори
 Профіль  
 
 Тема повідомлення: Re: Google Apps Script
ПовідомленняДодано: 16 травня 2014, 14:36 
Офлайн
Викладач

З нами з: 29 листопада 2013, 17:11
Повідомлення: 5033
Google Apps Script (надалі Гугл Скрипти) - це скриптова мова на основі JavaScript, яка дозволяє сумісно використовувати Служби Google, такі як Docs, Sheets, Forms та інші для вирішення різного типу задач. Для користування нею нічого інсталювати не потрібно, редактор Script Editor доступний прямо в браузері, а сценарії виконуються на серверах Google.
Гугл скрипти можуть бути 5-ти типів:
  • Standalone Scripts (самостійні) - являють собою набір самостійних функцій-програм, які користувач може запускати безпосередньо з редактору Гугл Скриптів (Script Editor), вказавши ту функцію, яку треба запустити. Самостійні скрипти зберігаються та доступні через Google Drive (через створення нового фалу) а також через сайт https://script.google.com;
  • Container-bound scripts (вбудовані) - це скрипти, які зберігаються і запускаються в межах Гугл Додатків (конетйнерів) типу Google Docs, Sheets, Forms та Sites для розширення їх функціональності. Вони не можуть працювати без своїх контейнерів і завжди пов'язані з ними. Призначення вбудованих Гугл Скриптів аналогічне як VBA у пакеті MS Office.
  • Spreadsheet Custom Functions (функції користувача електронних таблиць) - функції користувача, написані на Гугл Скриптс, які викликаються безпосередньо з комірки Листа через синтаксис "=myFunctionName()" аналогічно як формули Гугл Таблиць.
  • Web Apps (Веб Додатки) - скрипти, які використовуються для організації роботи Веб Серверу, побудованого на базі Гугл Скриптів. Для цього необхідно щоб файл Гугл Скриптс містив функцію doGet(e) , яка викликається при зверненні http-клієнту через запит типу GET. Функція doGet може повертати контент, зокрема html сторінки, побудовані за допомогою Гугл-Сервісів Html Service або Ui Service, або інший тип повідомлення (наприклад для Ajax). Також, доступна можливість використання функції doPost(e) для організації відповідей на http-запити POST. Для можливості доступу клієнту до Веб Додатку, проект необхідно опублікувати, визначити версію, надати права доступу. В межах проекту можна також створювати html-файли, які передавати клієнту при запиті.
  • Google Sites Gadgets (Гаджети Гугл Сайтс) - створені інтерфейси Html Service або Ui Service для Веб Додатків можна використовувати в якості гаджетів для Гугл Скриптс.


Догори
 Профіль  
 
 Тема повідомлення: Re: Google Apps Script
ПовідомленняДодано: 16 травня 2014, 15:39 
Офлайн
Викладач

З нами з: 29 листопада 2013, 17:11
Повідомлення: 5033
HTML Service - ці сервіси Гугл Скриптс, призначені для формування html-сторінок.
google.script.run - це асинхронний JavaScript API на стороні клієнту, доступний на сторінках, сгенерованих HTML-сервісом, що дозволяє викликати Apps Script функції на стороні серверу. Для взаємодії з діалогами або панелями в Google Docs, Sheets, або Forms з клієнтського коду, використовуються google.script.host.
Для виклику серверної функції з боку клієнта:
Код:
google.script.run.myFunction(parameters)
де myFunction - назва серверної функції, а в якості параметрів можна використовувати змінні типу Number, Boolean, String або null, а також JavaScript об'єкти та масиви організовані з них.
Для вказівки функцій зворотнього виклику клієнта (clbfunction) при негативному результаті обробки серверної функції, використовується метод withFailureHandler. При цьому в якості першого параметру функції зворотнього виклику буде перадаватися тип помилки.
Код:
google.script.run.withFailureHandler (clbfunction)

При позитивній обробці серверної функції, буде визиватися функція зворотнього виклику клієнта (clbfunction), яка вказується в методі withSuccessHandler. При цьому в якості першого параметру функції зворотнього виклику буде перадаватися результат, що повертає серверна функція (інструкцією return).
Код:
google.script.run.withSuccessHandler (clbfunction)

Використовуючи метод google.script.run.withUserObject(object) можна передавати додатковий параметр у функції зворотнього виклику. Тобто крім коду помилки (для withFailureHandler) та результату що повретається з серверної функції (для withSuccessHandler) передасться параметр object.
Приклад використання google.script.run
//-- це серверна сторона коду
//------------------------------- Code.gs
function doGet() {//очікування з'єднання http-клієнта
//відправити як відповідь сторінку index.html
return HtmlService.createHtmlOutputFromFile('index');
}
//дана функція визивається зі сторінки клієнта
function doSomething() {
Logger.log('Мене викликали!');
return 'Це результат, який повертається у функцію зворотнього виклику клієнту';
}

<!-- ---------------inddex.html --!>
<!-- це клієнтська сторона коду --!>
<script>
//вказується функція зворотнього виклику при позитивному результаті
google.script.run.withSuccessHandler(onSuccess);
//вказується функція зворотнього виклику при негативному результаті
google.script.run.withFailureHandler(onFailure)
//виклик серверної функції через google.script.run
google.script.run.doSomething();

//при негативному результаті викличеться дана функція
function onFailure(error) {
alert(error.message);//виведеться повідомлення про помилку
}
//при позитивному результаті викличеться дана функція і
function onSuccess(result) {
alert(result); // виведеться повідомлення:
//Це результат, який повертається у функцію зворотнього виклику клієнту
}
</script>


Догори
 Профіль  
 
Відображати повідомлення за:  Сортувати за  
Створити нову тему Відповісти  [ 3 повідомлень ] 

Часовий пояс UTC + 2 годин [ DST ]



Хто зараз онлайн

Зараз переглядають цей форум: Немає зареєстрованих користувачів і 1 гість


Ви не можете створювати нові теми у цьому форумі
Ви не можете відповідати на теми у цьому форумі
Ви не можете редагувати ваші повідомлення у цьому форумі
Ви не можете видаляти ваші повідомлення у цьому форумі
Ви не можете додавати файли у цьому форумі

Знайти:
Вперед:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете бесплатно создать форум PHPBB2 на MyBB2.ru, Также возможно создать форум бесплатно PHPBB3 на Getbb.ru
Український переклад © 2005-2007 Українська підтримка phpBB