Skip to content

Instantly share code, notes, and snippets.

var SCRIPT_PROPERTIES = PropertiesService.getScriptProperties();
function registerSpreadsheetWithScript() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
SCRIPT_PROPERTIES.setProperty("spreadsheetId", spreadsheet.getId());
SCRIPT_PROPERTIES.setProperty("sheetName", sheet.getName());
}
function doPost(e) {
try {
var newRow = createNewRowAndWriteToSheet(e.parameter);
return JsonFormattedSuccess(newRow.toString());
} catch(error) {
return JsonFormattedError(error)
}
}
function JsonFormattedSuccess(success_message) {
function createNewRowAndWriteToSheet(parameters) {
var sheet = getSheet();
var headers = getHeaders(sheet);
var newRow = createRow(headers, parameters);
callWithScriptLock(writeRowToSheet, sheet, newRow);
return newRow;
}
function getSheet() {
var spreadsheet = SpreadsheetApp.openById(SCRIPT_PROPERTIES.getProperty("spreadsheetId"));
function callWithScriptLock(callback, arg1, arg2) {
var lock = LockService.getScriptLock();
lock.waitLock(30000);
try {
return callback(arg1, arg2);
} finally {
lock.releaseLock();
}
}
<form id="my_form">
<p>
<label>Name:</label>
<input name="name" type="text" value=""/>
</p>
<p>
<label>Email:</label>
<input name="email" type="text" value=""/>
</p>
<p>
<script data-cfasync="false" type="text/javascript">
jQuery( document ).ready(function( $ ) {
var request;
$("#my_form").submit(function(event){
if (request) { request.abort(); }
$('#result').text('Sending data...');
request = $.ajax({
url: "https://script.google.com/macros/s/AKfycbz4aFabJ80gajXFBcXlFLpR6n9ad9GHs4UcT6ux9w7RAYcI_9w/exec",
@DominicBreuker
DominicBreuker / code.js
Created April 9, 2016 08:57
Google Spreadsheet Form Backend
function registerSheetWithScript() {
...
SpreadsheetApp.getUi().alert('This sheet will now receive data from forms!');
}
function onOpen() {
SpreadsheetApp.getUi().createMenu('FormBackend')
.addItem('Register sheet', 'registerSheetWithScript')
.addToUi();
}
@DominicBreuker
DominicBreuker / contact_me.js
Last active April 10, 2016 18:12
gs_spreadsheet_example
...
$.ajax({
url: "https://script.google.com/macros/s/AKfycbz4aFabJ80gajXFBcXlFLpR6n9ad9GHs4UcT6ux9w7RAYcI_9w/exec",
// this was 'url: "././mail/contact_me.php"'
type: "POST",
data: {
name: name,
phone: phone,
email: email,
message: message
@DominicBreuker
DominicBreuker / gd_simple.py
Created June 16, 2016 16:30
Simple example of gradient descent in tensorflow
import tensorflow as tf
x = tf.Variable(2, name='x', dtype=tf.float32)
log_x = tf.log(x)
log_x_squared = tf.square(log_x)
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(log_x_squared)
init = tf.initialize_all_variables()
import tensorflow as tf
x_1 = tf.placeholder(tf.float32)
x_2 = tf.placeholder(tf.float32)
x_3 = tf.placeholder(tf.float32)
x = tf.Variable(2, name='x', dtype=tf.float32)
log_x = tf.log(x)
result = (x_1 + x_2 + x_3) * tf.square(log_x)