generated at
大喜利JSON

コピーを保存し、自分のGoogleDriveに保存してください。
answer列に大喜利の回答を追加します
subject列にお題を追加します
「〇〇」は必須です。複数回答させる場合は「✕✕」も追加します(G列にある物をコピペがオススメです)

拡張機能>Apps Scriptをクリックし、Apps Scriptを起動してください。

下記を保存し、スプレッドシートから大喜利用のJSONを返却するAPIを作成してください。
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[values[i][0]] = values[i].slice(1).filter(Boolean);// filter(Boolean)で空文字削除 } Logger.log(res); return res; } const transpose = a => a[0].map((_, c) => a.map(r => r[c])); function checkEmpty(element) { return element !== undefined && element !== 0 && element !== null && element !== " "&& element !== ""; } function test(){ const arr = [1, 2, 3, "",null, 5, undefined, false, 7] // const x = arr.filter(v => v) const x = arr.filter(Boolean) Logger.log(x); }

doGet を実行してみて、ログにJSONっぽい物が表示されればAPIの準備は完了です!

ログはこんな感じ

右上にあるデプロイ▼をクリックし、 新しいデプロイ をクリックします。

種類の選択> ウェブアプリ をクリックします

説明は任意です。次のユーザーとして実行が「自分」になっていること、アクセスできるユーザーが「全員」になっていることを確認のうえ、デプロイします。

デプロイの管理から実際に使用するURLをクリックし、期待通りJSONが返却されることを確認ください。

こんな感じになっていると、問題ないと思います。


tetsuya-kが動かしているBotのお題や回答を追加したい方は以下から登録してください