Google Analytics 介绍

Google Analytics(分析)4 是一项分析服务,用于衡量您的网站和应用中的流量和互动情况。本文将介绍如何通过调用 Google Analytics admin API来生成 Google Analytics 衡量ID.

配置

启用API

在 Google Cloud console 后台 API 和服务 启用 Google Analytics Admin API。

配置服务账号

为了调用API,我们需要创建一个服务账号,然后为创建的服务账号添加密钥。

alt text

alt text

需要注意的是还需要在 Google Analytics 为服务账号添加权限,不然请求接口会没数据。

安装 go客户端

接下来安装go客户端:

go get google.golang.org/api/analyticsadmin/v1alpha

生成流程

接下来我们会按照常规的 id 生成流程编写相应的代码,流程: 1 获取账号信息

通过 List 接口获取当前服务账号所拥有的所有 Google Analytics 账户信息。

    accountsService := analyticsadmin.NewAccountsService(service)
	accountsReply, err := accountsService.List().Do(); 
	if err != nil {
		log.Fatal("list account err",err)
		return
	}
	for _,acc := range accountsReply.Accounts {
		fmt.Println(acc.Name)
	}

2 创建媒体资源

通过 List 接口获得第一个账号的所有媒体资源信息,并通过 Create 接口创建一个新的媒体资源。

    propertiesService := analyticsadmin.NewPropertiesService(service)
	propertiesReply,err := propertiesService.List().Filter(fmt.Sprintf("parent:%s",accountsReply.Accounts[0].Name)).Do()
	if err != nil {
		log.Fatal("list properties err",err)
		return
	}
	for _,pro := range propertiesReply.Properties {
		fmt.Println(pro)
	}
	propertie,err := propertiesService.Create(&analyticsadmin.GoogleAnalyticsAdminV1betaProperty{
		Account:         accountsReply.Accounts[0].Name,
		CurrencyCode:     "CNY",
		DisplayName:      "overstarrytest",
		// 行业类型
		IndustryCategory: "ONLINE_COMMUNITIES",
		Parent:           accountsReply.Accounts[0].Name,
		PropertyType:     "PROPERTY_TYPE_ORDINARY",
		TimeZone:         "Asia/Shanghai",
	}).Do()
	if err != nil {
		log.Fatal("create  propertie err",err)
		return
	
	}

3 设置数据流

接下来通过上面创建的媒体渠道创建新的数据流。

    propertiesDataStreamsService  := analyticsadmin.NewPropertiesDataStreamsService(service)
	res,err := propertiesDataStreamsService.Create(propertie.Name,&analyticsadmin.GoogleAnalyticsAdminV1betaDataStream{
		DisplayName:          "测试链接",
		Type:                 "WEB_DATA_STREAM",
		WebStreamData:        &analyticsadmin.GoogleAnalyticsAdminV1betaDataStreamWebStreamData{
			DefaultUri:      "https://www.overstarry.vip",
			MeasurementId:   "",
		},
	}).Do()
	fmt.Printf("%v",res.WebStreamData.MeasurementId)

代码

完整代码如下: alt text

运行代码: alt text

可以看到衡量id顺利产生。

小结

本文简单介绍了如何通过代码调用 analyticsadmin api 接口快速简单的生成衡量id,相关的代码可以在 https://github.com/overstarry/google-analytics-id-generate 找到。

参考