今回やること
はてなブログを運営しているとはてなスターがつくことがあります。
その記録をGoogeカレンダーに自動で記録します。
完全自動です。人間は何もしません。
さっそく解説します。
このブログの下部にもついていますが、「この記事いいね」を筆者に伝えるツールになります。
はてなユーザーなら使ったことがあると思います。
でも10年前のブログ記事ではてなスターをもらっても気が付きません。
はてなスターの履歴をカレンダーに完全自動で書き込みましょう
function HatenaCalender() { //最新の☆レポートを取得します const query = 'You have new messages.'; const start = 0; const max = 1; const threads = GmailApp.search(query, start, max); const messagesForThreads = GmailApp.getMessagesForThreads(threads); for(const messages of messagesForThreads){ //☆でスライス console.log(messages[0].getPlainBody().split("☆")[3]); //)を微調整 hatenastar = messages[0].getPlainBody().split("☆")[3] + ")"; console.log(hatenastar); } //ここからカレンダーに書き込んでいきます var date = new Date(); //今日の日付を表示 Logger.log(Utilities.formatDate( date, 'Asia/Tokyo', 'yyyyMMdd')); Logger.log(date); var calender = CalendarApp.getCalendarById("自分のカレンダーID@group.calendar.google.com"); calender.createAllDayEvent( hatenastar , new Date(date) ); //ここからスプレッドシートに書き込んでいきます var spreadsheet = SpreadsheetApp.openById('自分のスプレッドシートID'); var sheet = spreadsheet.getSheetByName('はてなスター推移'); sheet.insertRows(2,1); sheet.getRange("A2").setValue(date); sheet.getRange("B2").setValue(hatenastar); sheet.getRange("C2").setValue("=IF(B2<>\"\",SPLIT(B2,\"(\",\"\"))"); sheet.getRange("E2").setValue("=SPLIT(D2,\")\")"); }
を毎日実行させると、
毎日のはてなスターの記録を自動でつけるようにしました。
やってみたい方はこちらから。
番外編・コロナウイルス感染者数版も開発しました
毎日東京の感染者を記録していきます。
興味ある人は「+」ボタンから登録してみてください。