ブログ等についたはてなスターを自動記録していこう
はてなやってると他のユーザーがいい記事やブクマにスターをつけてくれます。
こんな風にどの記事にどれくらいスターが付いたかっていうのを記録してくれます。
過去にレッドスター2、グリーンスター16、通常スター2795件もらったそうです。
自分で自分の過去記事を見返さないと、どれくらいの人に読まれたのかわかりません。
developer.hatena.ne.jp
引用:
http://developer.hatena.ne.jp/ja/documents/star/apis/entry
はてなスターAPIなるものがあり、このページにどれくらいのスターが付いているかの取得ができます。
ただこのAPIはGETメソッドでスター数をあくまで自発的にpullで取りに行かないといけないのです。
push/pullの概念はインターネットの世界でよく出てきますので、わからない人は下の参考記事を読んで見てください。
japan.cnet.com
引用:
https://japan.cnet.com/article/35050326/
とにかくやりたいことは、その日に獲得したはてなスターをGoogleカレンダーに記録することです。
はてなは毎日こんなメールを送ってきてくれます
メールでもらってもいいんですが、いちいちメールを後から 見返さないといけないのでめんどくさいです。
だったらいっそのこと、はてなスターを獲得したら、獲得した日にGoogleカレンダーに自動で書き込んじゃいましょう。
ということでスクリプトを書いてみました。
function HatenaCalender() {
//最新の☆レポートを取得します
const query = 'かずきち。さんの☆レポート';
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)
);
}
とにかくやりたいことはカレンダーに獲得したはてなスターを記録すること。
それにつきます。
上記スクリプトを毎日夜の23:59に自動起動すれば、その日に取得したはてなスターの獲得通知からGoogleカレンダーに自動で書き込みます。
昨日の夜、このカレンダーを作ったのでまだはてなスター数の欄が少ないですが、ここに毎日獲得したはてなスターが記録されていきます。
まだ自身も完全動作を見守れていないので、修正加筆はあると思いますが、はてなスターを記録するスクリプトです。
このブログ見てもやり方がわからないという方は下記サービスをご利用ください。
はてなブログについたスターの数を記録します はてなブログの頑張りを記録して、モチベーションに
スクリプトの設置・運用までサポートいたします。