Created
April 1, 2013 07:27
-
-
Save yehara/5283644 to your computer and use it in GitHub Desktop.
Questetra BPM Suite の選択肢データのマスターとして Google Drive の Spreadsheet を利用するための Google Apps Script コード。
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
var docId = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; | |
function getAll() { | |
var list = []; | |
var sheet = SpreadsheetApp.openById(docId).getSheets()[0]; | |
var data = sheet.getDataRange().getValues(); | |
for(var i = 0; i < data.length; i++) { | |
list.push({value: data[i][0], display: data[i][1]}); | |
} | |
return list; | |
} | |
function find(query) { | |
var result = []; | |
var list = getAll(); | |
for(var i=0; i<list.length; i++) { | |
if(list[i].value.indexOf(query) >= 0 | |
|| list[i].display.indexOf(query) >= 0) { | |
result.push(list[i]); | |
} | |
} | |
return result; | |
} | |
function findExactValue(query) { | |
var list = getAll(); | |
for(var i=0; i<list.length; i++) { | |
if(list[i].value == query) { | |
return [list[i]]; | |
} | |
} | |
return []; | |
} | |
function doGet(e) { | |
var params = e.parameter || {}; | |
var list = []; | |
if(params.query !== undefined) { | |
list = find(params.query); | |
} else if (params.values !== undefined){ | |
list = findExactValue(params.values); | |
} else { | |
list = getAll(); | |
} | |
return createResponse(list); | |
} | |
function createResponse(list) { | |
var template = HtmlService.createTemplateFromFile('template'); | |
template.list = list; | |
var xml = template.evaluate().getContent(); | |
Logger.log(xml); | |
return ContentService.createTextOutput(xml).setMimeType(ContentService.MimeType.XML); | |
} | |
function test() { | |
doGet({parameter: { query: "XX"}}); | |
} |
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
<items> | |
<? for (var i = 0; i < list.length; ++i) { ?> | |
<item value="<?= list[i].value ?>" display="<?= list[i].display ?>" /> | |
<? } ?> | |
</items> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment