2017/11/22
今友人と作ってるやつでアクセスランキングが必要になったので作り方考えたけどDBのアクセス数インクリメントしていったらトータルランキングはできるけど、週間とか月間とかやりたい時どうすんだ???ってなって調べてたらGoogle Analyticsにたどり着いた。 というわけでNode.jsでGoogle Analytics APIを使ってWebページのアクセスランキングを集計してAWS Lambdaで毎日定期実行して更新するようにした記事です。
こちらを参考にさせて頂きました。ありがとうございます。
Google AnalyticsのデータをNode.jsを使って取ってくる(OAuth認証なし) | 株式会社ビヨンド サービスアカウントキーの取得やらはこちらを参照されたい。 どうせGoogleのUIなんてそのうちすぐ新しくなるのでまとめるのめんどい。こういうの最新っぽい記事と直感でなんとかしてるけど英語のドキュメントとかあるんだろうか
MySQLにarticlesとweekly_rankingテーブルを作っておいてweekly_rankingテーブルを毎日更新してinner joinとかで結合した結果をAPIで返す前提。
zipに固めてアップロードして毎日定期実行されるよう設定
後はweekly_rankingのAPIを用意してSELECT * FROM weekly_ranking INNER JOIN articles ON weekly_ranking.article_id = articles.id ORDER BY rank
で結合して取得するようにした
まずは週間ランキングだけ作った。 設定値や集計期間を環境変数に逃して日間や月間ランキングもすぐに用意できるようにする予定。
内定もらえるやろ!って思ってた状態で一週間ハワイ旅行に行ってる間に選考進んだ2社とも落ちてた。ほぼ転職先決まった報告してしまってたのに恥ずかしい。そういう報告は内定もらってからにしようね。 CTOさんと面談しまくってはいるがほんとに行きたいと思ったベンチャー企業しか選考に進んでいないので2社しか受けなかった。転職活動はまだ続く