Skip to content

Instantly share code, notes, and snippets.

@kardeiz
Created September 5, 2012 21:33
Show Gist options
  • Save kardeiz/3645223 to your computer and use it in GitHub Desktop.
Save kardeiz/3645223 to your computer and use it in GitHub Desktop.
some really bad google apps js code just for reference
function jbtest(a, b) {
var ss = SpreadsheetApp.getActiveSheet();
var rangeall = ss.getDataRange();
var rangeb = ss.getRange(ss.getLastRow(),1,1,ss.getLastColumn());
//rangeb.setBackgroundColor("#CC6666");
//var valyus = rangeb.getValues();
//Browser.msgBox(valyus[0][1]);
Browser.msgBox(hex_md5("message digest"));
}
/*
*/
function dojbtest() {
var URL = "http://www.google.com/fusiontables/api/query";
var response = UrlFetchApp.fetch(URL, {
method: "post",
//headers: {
// "Authorization": "GoogleLogin auth=" + authToken,
//},
payload: "sql=SELECT%20ROWID%20FROM%201W5lSQKjRDtp3eJA2iopPxN-PlesAm9EzCl3YW4g%20WHERE%20'USER_NAME'%3D'7c1def87090c0bcaca59bf60c4ff93ec'"
});
Browser.msgBox(response.getContentText().split(/\n/)[1]);
return response.getContentText();
}
function updateFT() {
var tableID = '12I1JfP9HBE_7F49Hmwmf7pqQKWBbFlBUpuNCiRA';
var email = UserProperties.getProperty('email');
var password = UserProperties.getProperty('password');
/*
if (email === null || password === null) {
email = Browser.inputBox('Enter email');
password = Browser.inputBox('Enter password');
UserProperties.setProperty('email',email);
UserProperties.setProperty('password', password);
} else {
email = UserProperties.getProperty('email');
password = UserProperties.getProperty('password');
}
*/
var authToken = getGAauthenticationToken(email,password);
var updateMsg = updateData(authToken, tableID);
// var updatedRowsCount = updateMsg.split(/\n/).length - 2;
//Browser.msgBox('|' + updateMsg + '|');
Browser.msgBox(updateMsg.indexOf("OK") != -1);
//if (updateMsg != 'OK ') {updateFT();}
}
function getGAauthenticationToken(email, password) {
password = encodeURIComponent(password);
var response = UrlFetchApp.fetch("https://www.google.com/accounts/ClientLogin", {
method: "post",
payload: "accountType=GOOGLE&Email=" + email + "&Passwd=" + password + "&service=fusiontables&Source=testing"
});
var responseStr = response.getContentText();
responseStr = responseStr.slice(responseStr.search("Auth=") + 5, responseStr.length);
responseStr = responseStr.replace(/\n/g, "");
//Browser.msgBox(responseStr);
return responseStr;
}
function queryFusionTables(authToken, query) {
var URL = "http://www.google.com/fusiontables/api/query";
var response = UrlFetchApp.fetch(URL, {
method: "post",
headers: {
"Authorization": "GoogleLogin auth=" + authToken,
},
payload: "sql=" + query
});
// Browser.msgBox(response.getContentText());
return response.getContentText();
}
/*
function deleteData(authToken, tableID) {
var query = encodeURIComponent("DELETE FROM " + tableID);
return queryFusionTables(authToken, query);
}
*/
function updateData(authToken, tableID) {
var ss = SpreadsheetApp.getActiveSheet();
var rangeb = ss.getRange(ss.getLastRow(),1,1,ss.getLastColumn());
//var blockDataRange = ss.getRangeByName('namedRange');
var query = constructQuery(ss, rangeb, tableID);
// Browser.msgBox(query);
return queryFusionTables(authToken, query);
}
function constructQuery(ss, rangeb, tableID) {
//var sheet = ss.getSheets()[0];
var query = "UPDATE " + tableID + " SET '" + rangeb.getValues()[0][3] + "' = '" + rangeb.getValues()[0][2] + "' WHERE ROWID = '" + rangeb.getValues()[0][1] + "'"
/*
var columnHeadersRowIndex = columnHeadersRowIndex || range.getRowIndex() - 1;
var numColumns = range.getEndColumn() - range.getColumn() + 1;
var headersRange = sheet.getRange(columnHeadersRowIndex, range.getColumn(), 1, numColumns);
var headers = headersRange.getValues()[0];
var data = range.getValues();
var queryPrepend = "INSERT INTO " + tableID + " ("+headers.join(",") + ") VALUES ('";
var query = "";
for (var i = 0; i < data.length; ++i) {
var hasData = false;
if (isCellEmpty(data[i][0])) {
continue;
}
query += queryPrepend + data[i].join("','") + "'); ";
}
*/
return encodeURIComponent(query);
}
// Returns true if the cell where cellData was read from is empty.
// Arguments:
// - cellData: string
//function isCellEmpty(cellData) {
// return typeof(cellData) == "string" && cellData == "";
//}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment