タイトルの件を実現する仕組みを作ってみます
詳しい実行方法はContent ServiceでCSVを返すに書きました
コード.gs
/************************************
https://script.google.com/macros/s/SCRIPT ID/exec?key=temparature_array
でtemparature_arrayの中身がcsvで返ってくる
************************************/
function doGet(e) {
var param = e.parameter;
var keys = Object.keys(param);
if(keys.length) {//paramにkeyが存在していたら要求されたデータをCSVにして返す
var data = getParamData(param);
var out = ContentService.createTextOutput(data).setMimeType(ContentService.MimeType.CSV);
return out;
} else {//paramにkeyが存在していなかったらindex.htmlを開く
return HtmlService.createHtmlOutputFromFile('index');
}
}
/************************************
要求されたデータをCSVにして返す
************************************/
function getParamData(param) {
var objKey = param['key'];//paramのkeyの値がreturnObjのkeyなので取得して
var array = returnObj[objKey];//対象のreturnObjのarrayを取得して
var csv = createCSV(array);//csvにして
return csv;//返す
}
/************************************
配列からcsvを作って返す
************************************/
function createCSV(array) {
var csv = '';
for(var i = 0; i < array.length; i++) {
csv += array[i] + ',\n';
}
return csv;
}
/************************************
返す配列を用意しておく
************************************/
var weather_array = [
"はれ",
"あめ",
"くもり",
"ゆき"
];
var temparature_array = [
"あつい",
"さむい",
"ちょうどいい"
];
/************************************
e.parameterのkeyの値に応じて配列を返すためのオブジェクト
************************************/
var returnObj = {
"weather_array": weather_array,
"temparature_array": temparature_array
}
|
index.html
<!DOCTYPE html>
<html>
<body>
<textarea></textarea>
</body>
</html>
|
Webアプリとして導入して作られるURLに
以下のように?key=temparature_arrayのパラメータを付けて
https://script.google.com/macros/s/SCRIPT ID/exec?key=temparature_array
開くと
temparature_arrayの中身がCSVで取得できます
※上記のURLには有効なSCRIPT IDが入っていないので機能しません
関連記事