Open3
(WIP)GA4の日々のアクセス情報を、GolangでAPIを用いて取得する
やりたいこと
Golangを用いて、GA4の情報に日次でアクセスして、当日のアクセスレポートをメールで送信する。
プロダクトサイトのアクセス情報という重要な指標を強制的に目にすることで、課題を意識させ改善につなげる目的です。
APIを使って情報取得する部分について、初めて実施するのでメモしていきます。
参考にさせていただいた記事、コード
20240908時点のGA4 Adminの公式ガイド
①準備編
Analyticsに関するAPIは、紛らわしいですが
Google Analytics Admin APIと、Google Analytics Data Api の2種類があります。
アクセス情報などのレポートが欲しい場合に使うのは、Google Analytics Data Apiです。
※※Admin APIは、アカウント情報などの操作に使うようです。Admin APIはこちら
Google Cloudのcredentialと参照したいanalyticsのプロパティを紐付ける
credentials.jsonを開いてclient_emailフィールドのメールアドレスを、
Google Analyticsの取得したいプロパティの「プロパティのアクセス管理」に追加します。
※正しく紐付いているか否かは、analyticsadminの方のAPIで、コードから確認することができます。
紐付いていないと、Account lenは0が返ってきます。
import(
analyticsadmin "google.golang.org/api/analyticsadmin/v1beta"
)
func main() {
ctx := context.Background()
analyticsAdminService, err := analyticsadmin.NewService(ctx, option.WithCredentialsFile("/path/to/credentialFile.json"))
//環境変数 GOOGLE_APPLICATION_CREDENTIALSに、credentialFileのパスを指定していればこれでもOK
//analyticsadminService, err := analyticsadmin.NewService(ctx)
res, err := analyticsAdminService.Accounts.List().Do()
log.Println("account len:", len(res.Accounts))
}
出力
account len: 1
②実装編
引き続き、プログラム実装部分について、
進めていきます。
こちらを利用。
go get google.golang.org/api/analyticsdata/v1beta
今回使ったAPI
細かく記述しようと思ったが、基本的にこちらのコードの通りに進めれば取得できますので、
続きは保留とします。