Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Universal Analytics C#SDK是否与GA4兼容?_C#_Google Analytics_Google Analytics Sdk_Google Analytics 4 - Fatal编程技术网

Universal Analytics C#SDK是否与GA4兼容?

Universal Analytics C#SDK是否与GA4兼容?,c#,google-analytics,google-analytics-sdk,google-analytics-4,C#,Google Analytics,Google Analytics Sdk,Google Analytics 4,我正在使用Google.api.AnalyticsReporting.v4库来查看旧的谷歌分析视图。如何将此代码转换为GA4?我找不到关于将视图Id切换到代码中其他内容的行 我已经检查了这篇文章,但是我的属性已经存在,我看不到在创建后修改它们的选项 using (var svc = new AnalyticsReportingService(authInitializer.CreateInitializer())) { var dateRange = new DateRange

我正在使用
Google.api.AnalyticsReporting.v4
库来查看旧的谷歌分析视图。如何将此代码转换为GA4?我找不到关于将视图Id切换到代码中其他内容的行

我已经检查了这篇文章,但是我的属性已经存在,我看不到在创建后修改它们的选项

using (var svc = new AnalyticsReportingService(authInitializer.CreateInitializer()))
{
    var dateRange = new DateRange
    {
        StartDate = analyticsParams.From.ToString("yyyy-MM-dd"),
        EndDate = analyticsParams.To.ToString("yyyy-MM-dd")
    };
    var sessions = new Metric
    {
        Expression = "ga:sessions",
        Alias = "Sessions"
    };
    var date = new Dimension { Name = "ga:date" };

    var reportRequest = new ReportRequest
    {
        DateRanges = new List<DateRange> { dateRange },
        Dimensions = new List<Dimension> { date },
        Metrics = new List<Metric> { sessions },
        ViewId = analyticsParams.ViewId, // <------------------------- My view id
    };

    var getReportsRequest = new GetReportsRequest
    {
        ReportRequests = new List<ReportRequest> { reportRequest }
    };

    var batchRequest = svc.Reports.BatchGet(getReportsRequest);
    var response = batchRequest.Execute();

    var reports = response.Reports.First();

    return reports.Data.Rows.Select(x => new DataEntry()
    {
        Date = DateTime.ParseExact(x.Dimensions[0], "yyyyMMdd", CultureInfo.InvariantCulture),
        Value = int.Parse(x.Metrics[0].Values[0]),
    }).ToList();
}
使用(var svc=new AnalyticsReportingService(authInitializer.CreateInitializer())
{
var dateRange=new dateRange
{
StartDate=分析数据从字符串到字符串(“yyyy-MM-dd”),
EndDate=分析SPARAM.To.ToString(“yyyy-MM-dd”)
};
var会话=新度量
{
Expression=“ga:sessions”,
Alias=“会话”
};
var date=新维度{Name=“ga:date”};
var reportRequest=新的reportRequest
{
DateRanges=新列表{dateRange},
维度=新列表{date},
度量=新列表{sessions},
ViewId=analyticsParams.ViewId,//新数据项()
{
Date=DateTime.ParseExact(x.Dimensions[0],“yyyyymmdd”,CultureInfo.InvariantCulture),
Value=int.Parse(x.Metrics[0]。Value[0]),
}).ToList();
}

当前没有可用于GA4属性的API。此外,GA4不提供视图,您必须使用BigQuery以编程方式获取数据。

您需要使用(当前为alpha)来访问GA4属性。下面是一个类似于您尝试执行的操作的示例

using Google.Analytics.Data.V1Alpha;
using System;

namespace AnalyticsSamples
{
    class QuickStart
    {
        static void SampleRunReport(string propertyId)
        {
            // Using a default constructor instructs the client to use the credentials
            // specified in GOOGLE_APPLICATION_CREDENTIALS environment variable.
            AlphaAnalyticsDataClient client = AlphaAnalyticsDataClient.Create();

            // Initialize request argument(s)
            RunReportRequest request = new RunReportRequest
            {
                Entity = new Entity{ PropertyId = propertyId },
                Dimensions = { new Dimension{ Name="city"}, },
                Metrics = { new Metric{ Name="activeUsers"}, },
                DateRanges = { new DateRange{ StartDate="2020-03-31", EndDate="today"}, },
            };

            // Make the request
            RunReportResponse response = client.RunReport(request);

            Console.WriteLine("Report result:");
            foreach( Row row in response.Rows )
            {
                Console.WriteLine("{0}, {1}", row.DimensionValues[0].Value, row.MetricValues[0].Value);
            }
        }

        static int Main(string[] args)
        {
            if (args.Length == 0 || args.Length > 2)
            {
                Console.WriteLine("Arguments: <GA4 property ID>");
                Console.WriteLine("A GA4 property id parameter is required to make a query to the Google Analytics Data API.");
                return 1;
            }
            string propertyId = args[0];
            SampleRunReport(propertyId);
            return 0;
        }
    }
}
使用Google.Analytics.Data.V1Alpha;
使用制度;
名称空间分析示例
{
类快速启动
{
静态无效采样器报告(字符串属性ID)
{
//使用默认构造函数指示客户端使用凭据
//在GOOGLE_应用程序_凭据环境变量中指定。
AlphaAnalyticsDataClient=AlphaAnalyticsDataClient.Create();
//初始化请求参数
RunReportRequest请求=新的RunReportRequest
{
实体=新实体{PropertyId=PropertyId},
维度={new Dimension{Name=“city”},},
度量={new Metric{Name=“activeUsers”},},
日期范围={new DateRange{StartDate=“2020-03-31”,EndDate=“today”},},
};
//提出请求
RunReportResponse=client.RunReport(请求);
Console.WriteLine(“报告结果:”);
foreach(响应中的行。行)
{
Console.WriteLine(“{0},{1}”,row.DimensionValues[0]。Value,row.MetricValues[0]。Value);
}
}
静态int Main(字符串[]args)
{
如果(args.Length==0 | | args.Length>2)
{
Console.WriteLine(“参数:”);
WriteLine(“查询Google Analytics数据API需要GA4属性id参数”);
返回1;
}
字符串propertyId=args[0];
采样器报告(不动产ID);
返回0;
}
}
}

我也看到过这些API,但对于测量协议,它们是alpha格式的,文档本身说这是API的早期预览版本,可能会发生更改。虽然我们将尝试通知您即将发生的更改,但您应该会在API公开发布之前遇到突破性的更改。我的建议如果你想得到一个合理的结果,就不要使用它们,而是在BigQuery上使用它们。我想我会接受这个答案。它看起来比BigQuery更接近我已经拥有的