如何使用google api ruby gem查询google analytics api?

如何使用google api ruby gem查询google analytics api?,ruby,google-analytics-api,Ruby,Google Analytics Api,关于gem的文档缺乏实际的例子,它只记录了类和方法,因此很难猜测我们应该如何在现实生活中使用gem。例如,我试图从增强型电子商务获取所有购买信息,以查看它们来自何处(收购渠道或渠道分组),但我只对需要5个会话才能转换交易的交易感兴趣(我们的不信任的客户)。首先,您需要分析视图id,可以在url末尾的字母p 然后,您需要将路由导出到凭据: 在您的终端中: export GOOGLE\u APPLICATION\u CREDENTIALS='folder/yourproject-a91723dsa

关于gem的文档缺乏实际的例子,它只记录了类和方法,因此很难猜测我们应该如何在现实生活中使用gem。例如,我试图从
增强型电子商务
获取所有购买信息,以查看它们来自何处(收购渠道或渠道分组),但我只对需要5个会话才能转换交易的交易感兴趣(我们的
不信任的客户
)。

首先,您需要分析视图id,可以在url末尾的字母
p

然后,您需要将路由导出到凭据: 在您的终端中:

export GOOGLE\u APPLICATION\u CREDENTIALS='folder/yourproject-a91723dsa8974.json'

有关凭据的更多信息,请参阅

设置好后,可以像这样查询api

require'googleauth'
需要“google/API/analyticsreporting_v4”
作用域=['https://www.googleapis.com/auth/analytics']
date_from=10天前
日期至=2.5天前
authorization=Google::Auth.get\u应用程序\u默认值(范围)
analytics=Google::API::AnalyticsreportingV4::AnalyticsReportingService.new
analytics.authorization=授权
视图id='189761131'
date\u range=Google::API::AnalyticsreportingV4::DateRange.new(开始日期:date\u from.strftime(“%Y-%m-%d”)、结束日期:date\u to.strftime(“%Y-%m-%d”))
metric=Google::API::AnalyticsreportingV4::metric.new(表达式:“ga:transactions”)
事务\u id\u dimension=Google::API::AnalyticsreportingV4::dimension.new(名称:“ga:transactionID”)
adquisition\u dimension=Google::API::AnalyticsreportingV4::dimension.new(名称:“ga:channelGrouping”)
过滤器='ga:sessionsToTransaction==5'
request=Google::API::AnalyticsreportingV4::GetReportsRequest.new(
报告请求:[Google::API::AnalyticsreportingV4::ReportRequest.new(
视图id:视图id,
度量:[度量],
维度:[事务id维度,请求维度],
日期范围:[日期范围],
过滤器\表达式:过滤器
)]
)
响应=分析。批处理获取报告(请求)
response.reports.first.data.rows.each do |行|
尺寸=行。尺寸
放置“TransactionID:#{dimensions[0]}-通道:#{dimensions[1]}”
结束
注意
filters\u表达式:filters

其中,过滤器变量的形式为
ga:medium==cpc,ga:medium==organic;ga:source==bing,ga:source==google

其中逗号(
)表示
,分号(
)表示
(其中
优先于

您可以检查以使用过滤器

这是

如果报告中的行数超过1000行(默认最大行数),则将显示下一个\u页面\u标记属性

response.reports.first.next_page_token
=> "1000"
您必须存储该号码才能在下一个ReportRequest中使用它

next\u request=Google::API::AnalyticsreportingV4::GetReportsRequest.new(
报告请求:[Google::API::AnalyticsreportingV4::ReportRequest.new(
视图id:视图id,
度量:[度量],
维度:[事务id维度,请求维度],
日期范围:[日期范围],
过滤器\表达式:过滤器,
第页标记:“1000”
)]
)
直到

next_response.reports.first.next_page_toke
=> nil
或者,您可以通过添加
页面大小:例如10\u 000