Я знаю, как написать простой скрипт приложения, который (после опубликования) предоставляет простую форму (имя и сообщение), которые вытесняют значения в Google Spreadsheet.Запустите Google App Script с веб-страницы
Мой вопрос: как я могу запустить скрипт с моего сайта? Могу ли я создать html-форму и когда я отправлю форму в электронную таблицу?
Есть ли способ «создать» ссылку со значениями, которые необходимо вставить в электронную таблицу?
Где я могу найти примеры?
Благодаря
EDIT
GS КОД
var logSheetId = "[SHEETID]"; // Drive ID of log spreadsheet
function doGet(e){
var nome;
var messaggio;
nome = e.parameter.stringaNome;
messaggio=e.parameter.stringaMessaggio;
scriviSpreadsheet(nome,messaggio);
}
function scriviSpreadsheet(nome, messaggio) {
try {
// Open the log and record the new file name, URL and name from form
var ss = SpreadsheetApp.openById(logSheetId);
var sheet = ss.getSheets()[0];
sheet.appendRow([nome, messaggio]);
// Return the new file Drive URL so it can be put in the web app output
//return file.getUrl();
} catch (error) {
return error.toString();
}
}
HTML (внешний сайт)
<form id="myForm">
<input type="text" id="nome" name="nome" placeholder="Il tuo nome"/>
<input type="text" id="messaggio" name="messaggio"/>
<input type="button" value="Submit"
onclick="scrivi()" />
</form>
<script>
function scrivi(){
var nome= document.getElementById("nome").value;
var messaggio = document.getElementById("messaggio").value;
var location = "https://script.google.com/macros/s/[MYSCRIPTID]/exec?stringaNome=" + nome + "&stringaMessaggio=" + messaggio;
window.location = location;
}
function onFailure(error) {
alert(error.message);
}
</script>
Я знаю, что это не самый лучший код когда-либо, но это работает.
Как я могу избежать открытия любой страницы при нажатии кнопки?
Вы могли бы написать форму HTML и встроить его в сайт, вы можете использовать форму Google и вставлять его с помощью фрейма или вы можете сделать сайт google и встроить GAS напрямую –
Если ваша веб-страница может сделать запрос HTTPS, вы можете запустить функцию сценария приложений, которая будет запускаться с запросом GET или POST на опубликованный URL-адрес проекта Script Apps. Например, если ваша веб-страница может использовать JavaScript, вы можете сделать запрос AJAX. Если ваша веб-страница может запускать код на стороне сервера, ваш код сервера на вашем веб-сайте может сделать запрос GET или POST на URL скрипта приложений. Чтобы обрабатывать запрос GET или POST, Script Apps имеет два зарезервированных имени функции: 'doGet()' и 'doPost()' Они оба отслеживают событие запроса, сделанного для опубликованного URL. –
Публикация скрипта в виде веб-приложения. Затем вы получаете ссылку, которую вы можете использовать самостоятельно, в iframe или прямо на странице сайта Google. Для сайта, отличного от Google, в вашей функции doGet (e) вы должны вызвать 'HtmlService.createTemplateFromFile ('Index'). SetXFrameOptionsMode (HtmlService.XFrameOptionsMode.ALLOWALL);' или 'HtmlService.createHtmlOutput ('Index'). SetXFrameOptionsMode (HtmlService.XFrameOptionsMode.ALLOWALL); или один из других вызовов. См. Https://developers.google.com/apps-script/reference/html/html-service и https://developers.google.com/apps-script/reference/html/x-frame-options-mode –