Как использовать измерения в C # Google Analytics API отчетов в реальном времени? - PullRequest
0 голосов
/ 04 ноября 2018

Я пытаюсь получить данные в реальном времени из API отчетов Google Analytics в реальном времени (Google.Apis.Analytics.v3), следующий код работает нормально и получает активных пользователей.

Чего я не могу понять, так это как получить данные из измерений?

Fx. это измерение: rt: deviceCategory, у него нет метрики в соответствии с этим: https://developers.google.com/analytics/devguides/reporting/realtime/dimsmets/

Если бы кто-нибудь мог указать мне правильное направление, это было бы очень признательно.

            var credential = GetCredential().Result;
            using (var svc = new AnalyticsService(
                new BaseClientService.Initializer
                {
                    HttpClientInitializer = credential,
                    ApplicationName = "Google Analytics API Console"
                })
            )
            {
                GetRequest request;
                RealtimeData response;

                request = svc.Data.Realtime.Get("ga:XXXXX", "rt:activeUsers");         
                response = request.Execute();
                foreach (var row in response.Rows)
                {
                    foreach (string col in row)
                    {
                        Console.Write(col + " ");  // writes the value of the column
                    }
                    Console.Write("\r\n");
                }

1 Ответ

0 голосов
/ 04 ноября 2018

Я нашел ответ здесь: https://github.com/LindaLawton/Google-Dotnet-Samples/tree/Genreated-samples1.0/Google%20Analytics%20API/v3

RealtimeSample.cs может добавлять измерения в API реального времени, просто нужно изменить номер строки. 127 до:

if (piShared != null && property.GetValue(optional, null) != null) // TODO Test that we do not add values for items that are null

И заглавная буква А службы аналитики в нескольких местах. Тогда используйте как:

                RealtimeSample.RealtimeGetOptionalParms param = new RealtimeSample.RealtimeGetOptionalParms();
                param.Dimensions = "rt:deviceCategory";
                response = RealtimeSample.Get(svc, "ga:XXXXX", "rt:activeUsers", param);
                foreach (var row in response.Rows)
                {
                    foreach (string col in row)
                    {
                        Console.Write(col + " ");  // writes the value of the column
                    }
                    Console.Write("\r\n");
                }
...