Получить clientId через API отчетов Google Analytics

Я заметил, что в Анализ параметров и показателейID клиента, назначенный самой аналитикой Google для уникальной идентификации устройства, недоступен для запроса через любой из API-интерфейсов отчетов. Кто-нибудь знает какой-либо другой возможный способ, который я мог пропустить, чтобы получить ID клиента в теле ответа?

вот мой пример кода

DateRange dateRange = new DateRange();
dateRange.setStartDate("2019-04-20");
 dateRange.setEndDate("yesterday");

 // Create the Metrics object.
 Metric sessions = new Metric()
         .setExpression("ga:sessions")
         .setAlias("sessions");

 Dimension userId = new Dimension().setName("ga:dimension1");
 Dimension source = new Dimension().setName("ga:source");
 Dimension medium = new Dimension().setName("ga:medium");
 Dimension campaign = new Dimension().setName("ga:campaign");
 Dimension experimentId = new Dimension().setName("ga:experimentId");

 List<String> filterExpressionList = new ArrayList<>();

 filterExpressionList.add("426"); 
 filterExpressionList.add("359"); 
 filterExpressionList.add("13694118"); 
 filterExpressionList.add("28"); 


 DimensionFilter userIdFilter = new DimensionFilter();
 userIdFilter.setDimensionName("ga:dimension1").setExpressions(filterExpressionList).setCaseSensitive(false).setNot(false).setOperator("IN_LIST");

 List<DimensionFilter> dimensionFilterList = new ArrayList<>();
 dimensionFilterList.add(userIdFilter);

 DimensionFilterClause dimensionFilterClause = new DimensionFilterClause();
 dimensionFilterClause.setFilters(dimensionFilterList);

 List<DimensionFilterClause> dimensionFilterClauses = new ArrayList<>();
 dimensionFilterClauses.add(dimensionFilterClause);
 // Create the ReportRequest object.
 ReportRequest request = new ReportRequest()
         .setViewId(VIEW_ID)
         .setDateRanges(Arrays.asList(dateRange))
         .setMetrics(Arrays.asList(sessions))
         .setDimensions(Arrays.asList(userId,source,medium,campaign,experimentId)).setDimensionFilterClauses(dimensionFilterClauses);

 ArrayList<ReportRequest> requests = new ArrayList<ReportRequest>();
 requests.add(request);

 // Create the GetReportsRequest object.
 GetReportsRequest getReport = new GetReportsRequest()
         .setReportRequests(requests);

 // Call the batchGet method.
 GetReportsResponse response = service.reports().batchGet(getReport).execute();

Пожалуйста, отредактируйте свой вопрос и включите свой код.

DaImTo 15.05.2019 08:26

@DaImTo: прикрепил пример кода

ThilankaD 15.05.2019 09:06
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
2 141
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Предполагая, что вы имеете в виду Сид, переданный в данные Google Analytics. Ответ: вы не можете. Это не измерение, возвращаемый API Google Analytics, этот параметр используется только для внутренней обработки.

Лучшим вариантом будет добавить его в качестве пользовательского параметра и отправлять его с каждым вашим запросом.

@DalmTo Спасибо. думал о том же (Y).

ThilankaD 15.05.2019 11:29

извините, что спрашиваю здесь... Могу ли я запросить и отфильтровать пользовательские переменные, которые я установил в отслеживании событий?

Arifullah Jan 02.09.2019 19:20

clientId теперь доступен через API как ga:clientId

Больше не нужно устанавливать clientId (или userId) в пользовательском параметре.

Примечание для всех, кто использует функцию идентификатора пользователя Universal Analytics. Значения, возвращаемые в ga:clientId, на самом деле являются идентификатором пользователя. Еще более интересно. (На момент написания) GA не работает, если вы запрашиваете clientId из представления User ID. Таким образом, вы должны использовать представление без идентификатора пользователя, чтобы получить идентификатор пользователя. :)

Спасибо за ответ @Michael Frost Billing. Но интересно, почему он не указан здесь, в обозревателе параметров и показателей : Developers.google.com/analytics/devguides/reporting/core/…

ThilankaD 28.08.2019 13:46

Другие вопросы по теме