go langからGoogle Analytics APIを使う
こちらの記事↓ではSpring Boot + kotlinからの利用方法でしたがgoからの利用も調査しました。
Spring Boot + kotlinでGoogle Analytics APIを使ってみた - 平日インプット週末アウトプットぶろぐ
簡易的なデータの取り方を確認できたので記載。
main.go
package main import ( "fmt" "log" "os" "golang.org/x/oauth2" "golang.org/x/oauth2/google" analytics "google.golang.org/api/analytics/v3" ) func main() { client, err := google.DefaultClient( oauth2.NoContext, "https://www.googleapis.com/auth/analytics.readonly") if err != nil { log.Fatalf("Unable to read client : %v", err) } service, err := analytics.New(client) if err != nil { log.Fatalf("Unable to Access Google Analytics: %v", err) } result, err := service.Data.Ga.Get("ga:"+os.Getenv("PROFILE_ID"), "yesterday", "today", "ga:sessions").Dimensions("ga:visitorGender,ga:visitorAgeBracket").Do() if err != nil { log.Fatalf("Unable to get data: %v", err) } for _, row := range result.Rows { fmt.Printf("%s,%s,%s\n", row[0], row[1], row[2]) } }
実行する
GOOGLE_APPLICATION_CREDENTIALS=secret.json PROFILE_ID=xxxxx go run main.go
実行結果
$ GOOGLE_APPLICATION_CREDENTIALS=secret.json PROFILE_ID=xxxxx go run main.go female,18-24,260 female,25-34,1495 female,35-44,1503 female,45-54,424 female,55-64,55 male,18-24,28 male,25-34,106 male,35-44,132 male,45-54,32
※ 2016/11現在、Google Analytics APIのgoのサポートはalphaバージョンですのでご利用はご注意ください