概要
今日が何曜日かを表示します。
更新は毎日深夜の0時~1時の間に入ります。
GoogleSpreadsheetに曜日別にwikiコードを書いており、その記載内容をGASで取得してwikiを編集しています。
コード(GAS)
SheetID,WikiID,WikiPage,APIKyeID,Secretはそれぞれ適切なものを設定してください。
任意の時間で時間主導型のトリガーを設定してください。
// 今日の曜日を取得します function getDay() { const day = new Date().getDay(); const dayNum = (day + 1); const daywithA = "A" + dayNum; return daywithA; } // GoogleSpreadsheetから内容を取得します function getCode() { const daywithA = getDay(); const ss = SpreadsheetApp.openById('SheetID'); const sheet = ss.getSheetByName('シート1'); const contents = sheet.getRange(daywithA).getValue(); return contents; } // ページに書き込む内容を設定します function setCode() { const contents =getCode(); const pageContents = contents; return pageContents; } // WikiのIDを設定します const wikiID = 'WikiID'; // 対象となるWikiのページ名を設定します const wikiPage = 'WikiPage'; // 認証情報を設定します const authInfo = { "api_key_id": "APIKeyID", "secret": "Secret" }; // 認証トークンを取得します function getAuthToken() { const url = `https://api.wikiwiki.jp/${wikiID}/auth`; const options = { 'method': 'post', 'contentType': 'application/json', 'payload': JSON.stringify(authInfo) }; const response = UrlFetchApp.fetch(url, options); const data = JSON.parse(response.getContentText('UTF-8')); if (data.status !== 'ok') { throw new Error('認証に失敗しました'); } return data.token; } // ページに内容を書き込みます function writePage(pageName, source, token) { const url = `https://api.wikiwiki.jp/${wikiID}/page/${pageName}`; const options = { 'method': 'put', 'contentType': 'application/json', 'headers': { 'Authorization': `Bearer ${token}` }, 'payload': JSON.stringify({ 'source': source }) }; const response = UrlFetchApp.fetch(url, options); const data = JSON.parse(response.getContentText('UTF-8')); if (data.status !== 'ok') { throw new Error('書き込みに失敗しました'); } } // スクリプトを実行します function runScript () { const pageContents = setCode(); try { const token = getAuthToken(); writePage(wikiPage, pageContents, token); console.log('sucess'); } catch (e) { console.error(e); } }