Created
September 5, 2012 21:33
-
-
Save kardeiz/3645223 to your computer and use it in GitHub Desktop.
some really bad google apps js code just for reference
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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