デジタル校務手帳のデータを、複数の端末(PCとタブレットなど)で安全に同期するための設定手順です。
※データは暗号化されるため、クラウド上で中身を見られることはありません。
校務手帳データ など分かりやすい名前でフォルダを作成します。https://drive.google.com/drive/folders/【この部分の長い英数字】手帳同期API などに変更します。function myFunction()...)をすべて消去します。// デジタル校務手帳 バックエンドAPI
// ▼▼▼ Step1で控えたフォルダIDを "" の中に貼り付けてください ▼▼▼
const FOLDER_ID = "ここにフォルダIDを貼り付けてください";
function doPost(e) {
const output = ContentService.createTextOutput().setMimeType(ContentService.MimeType.JSON);
try {
const payload = JSON.parse(e.postData.contents);
const action = payload.action;
const folder = DriveApp.getFolderById(FOLDER_ID);
if (action === "saveJson") {
const fileName = "KoumuData.json";
const files = folder.getFilesByName(fileName);
if (files.hasNext()) { files.next().setContent(payload.data); }
else { folder.createFile(fileName, payload.data, MimeType.PLAIN_TEXT); }
return output.setContent(JSON.stringify({ success: true }));
} else if (action === "loadJson") {
const files = folder.getFilesByName("KoumuData.json");
if (files.hasNext()) {
return output.setContent(JSON.stringify({ success: true, data: files.next().getBlob().getDataAsString() }));
}
return output.setContent(JSON.stringify({ success: false, message: "No data" }));
} else if (action === "uploadFile") {
const blob = Utilities.newBlob(Utilities.base64Decode(payload.base64), payload.mimeType, payload.fileName);
return output.setContent(JSON.stringify({ success: true, fileId: folder.createFile(blob).getId() }));
}
} catch (error) {
return output.setContent(JSON.stringify({ success: false, error: error.message }));
}
}
function doGet(e) { return ContentService.createTextOutput("API稼働中"); }
"ここにフォルダIDを貼り付けてください" の部分を、Step 1で控えたフォルダID に書き換えます。(※前後の " " は消さないように注意してください)初期設定(何でもOKです)/exec の長いURL)をコピーします。