首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过获取clientId

通过获取clientId
EN

Stack Overflow用户
提问于 2019-05-15 05:30:49
回答 2查看 2.4K关注 0票数 0

我注意到,在尺寸与度量资源管理器中,google为唯一识别设备分配的clientId无法通过任何报告API进行查询。有没有人知道我可能会被遗漏的其他可能的方法,在响应体中获取clientId

这是我的示例代码

代码语言:javascript
复制
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();
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-15 07:52:49

假设您指的是传递给Google分析数据的cid。最重要的是你不能。这不是google返回的尺寸,这个维度只用于内部处理。

您的最佳选择是将其添加为自定义维度,并将其与您提出的每个请求一起发送。

票数 2
EN

Stack Overflow用户

发布于 2019-08-20 07:54:47

clientId现在可以通过API作为ga:clientId使用。

不再需要在自定义维度中设置clientId (或userId)。

注意,对于任何使用Universal用户ID特性的人来说,ga:clientId中返回的值实际上是更有趣的userId。(编写时)如果从用户ID视图请求clientId,GA将失败。因此,您应该使用一个非用户ID视图来获取用户ID. :)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56142311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档