大喜利JSON
コピーを保存し、自分のGoogleDriveに保存してください。
answer列に大喜利の回答を追加します
subject列にお題を追加します
「〇〇」は必須です。複数回答させる場合は「✕✕」も追加します(G列にある物をコピペがオススメです)
拡張機能>Apps Scriptをクリックし、Apps Scriptを起動してください。
https://gyazo.com/0569f28d63490597f327914cbe9980c1
下記を保存し、スプレッドシートから大喜利用のJSONを返却するAPIを作成してください。
code:ohgiri_json.js
function doGet(e) {
// listデータをjsonに変換
payload = JSON.stringify(get_data());
ContentService.createTextOutput()
var output = ContentService.createTextOutput();
output.setMimeType(ContentService.MimeType.JSON);
output.setContent(payload);
// return response-data
return output;
}
function get_data(){
let size = 1000;
var sheetName = "data";
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
var values = transpose(sheet.getRange(1, 1, size, 2).getValues());// transposeで転置
var res = {};
for (var i=0; i<2; i++){
res[valuesi0] = valuesi.slice(1).filter(Boolean);// filter(Boolean)で空文字削除 }
Logger.log(res);
return res;
}
const transpose = a => a0.map((_, c) => a.map(r => rc)); function checkEmpty(element) {
return element !== undefined && element !== 0 && element !== null && element !== " "&& element !== "";
}
function test(){
// const x = arr.filter(v => v)
const x = arr.filter(Boolean)
Logger.log(x);
}
doGetを実行してみて、ログにJSONっぽい物が表示されればAPIの準備は完了です!
https://gyazo.com/4fb7f3371903857ba6a627774b64f102
ログはこんな感じ
https://gyazo.com/0340f6fce8c2950a37dc70b2fcdb33dd
右上にあるデプロイ▼をクリックし、新しいデプロイをクリックします。
https://gyazo.com/d70ae6ff027bf91dc0cf089baeecb2f0
種類の選択>ウェブアプリをクリックします
https://gyazo.com/2f18a16fc65f3ef457265a87054d8f31
説明は任意です。次のユーザーとして実行が「自分」になっていること、アクセスできるユーザーが「全員」になっていることを確認のうえ、デプロイします。
https://gyazo.com/65f0f979ab442849367b5cc36fd9466d
デプロイの管理から実際に使用するURLをクリックし、期待通りJSONが返却されることを確認ください。
https://gyazo.com/6547843b4aa0b951e4cb48016bc23fc1
こんな感じになっていると、問題ないと思います。
https://gyazo.com/5ae80d75edd578a145206eca9bf4163d
tetsuya-k.iconが動かしているBotのお題や回答を追加したい方は以下から登録してください