Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Google Analytics Real Time Reporting API 事始め

More than 5 years have passed since last update.

カスタムダッシュボードつくるのに便利なんじゃないかと思って調べてる。

Google Analytics Real Time Reporting APIとは何か

What Is The Real Time Reporting API - Overview - Google Analytics — Google Developers

You can use the Real Time Reporting API to:

  • Display active viewers of a page and create a sense of urgency for users that are looking at an item with finite inventory.
  • Display the most popular content such as the top 10 active pages.
  • Create and display a real time dashboard.

要は、いままさに訪問中のアクティブユーザや、いままさに多くのユーザが訪れているページの上位10件などをとれて、リアルタムデータを表示するダッシュボードを作るものらしい。

これを使うと下記のようなGAの「Real-Time -> Summary」のようなダッシュボードを作れるのかなと。ただGA embed APIみたいになviewはなくてデータを取ってくるだけなので、viewは自分で作らなきゃいけないようだ。

image

注意点

注意点として、2015年3月現在private βであって、使うために申請が必要だということが一つ。

もう一つ、あとはこれはあくまでも「データをリアルタイムに取得するもの」であって、listenしたらどんどんAPIからデータをpushしてくれる、ストリーミングAPI的なものではないということ。「limitに達するようならポーリングの間隔をあけるかサーバーサイドでキャッシュしてくれよナ」てな警告がかいてある。

APIの調べ方

Google API documentは慣れるまでがとにかくつらい。これの場合、APIは一つだけらしい。

GET https://www.googleapis.com/analytics/v3/data/realtime

API docの下部に実際にリクエストを発行できるところがあって、そこで得られるのはこんなデータ:

{
 "kind": "analytics#realtimeData",
 "id": "https://www.googleapis.com/analytics/v3/data/realtime?ids=ga:XXXX&metrics=rt:activeUsers",
 "query": {
  "ids": "ga:XXXX",
  "metrics": [
   "rt:activeUsers"
  ],
  "max-results": 1000
 },
 "totalResults": 1,
 "selfLink": "https://www.googleapis.com/analytics/v3/data/realtime?ids=ga:XXXX&metrics=rt:activeUsers",
 "profileInfo": "**MASKED**",
 "columnHeaders": [
  {
   "name": "rt:activeUsers",
   "columnType": "METRIC",
   "dataType": "INTEGER"
  }
 ],
 "totalsForAllResults": {
  "rt:activeUsers": "3"
 },
 "rows": [
  [
   "3"
  ]
 ]
}

このデータ構造の意味はReal Time Data - Google Analytics — Google Developers にある。

JavaScript Interface

で、これをJSから利用するのはどうしたらいいかなと思ってサンプルコードを探した。

コードを見るに、これのデモサイトの Third Party Visualizations にある「Active User」が /data/realtime を使っているようだ。

image

ファイルでいうとこれかな。

なかなかよさそうだ。

gfx
#Android #Java #Kotlin #Ruby #RubyOnRails #Elasticsearch
http://gfx.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away