尝试使用 Legato gem 从 Google Analytics 获取查询结果(按照之前的建议,我去那里 + 一些研究)。定义我的查询似乎很简单,但是我不明白如何实际获得结果。阅读自述文件显示了如何构建一些“构建块”,但我无法获得可以从中读取结果的对象。
也许我漏掉了什么,查询结果应该直接写入模型(DB),这不是我想要的(我想先过一遍)。也许这就是我什么都没看到的原因。
那么有人可以分享一个如何阅读结果的例子吗?例如,只需将页面浏览量打印到屏幕上。
谢谢
尝试使用 Legato gem 从 Google Analytics 获取查询结果(按照之前的建议,我去那里 + 一些研究)。定义我的查询似乎很简单,但是我不明白如何实际获得结果。阅读自述文件显示了如何构建一些“构建块”,但我无法获得可以从中读取结果的对象。
也许我漏掉了什么,查询结果应该直接写入模型(DB),这不是我想要的(我想先过一遍)。也许这就是我什么都没看到的原因。
那么有人可以分享一个如何阅读结果的例子吗?例如,只需将页面浏览量打印到屏幕上。
谢谢
所以这是我发现使用它的方式:您创建一个定义查询“模型”的类(就像 Active-Model 返回关系一样,您也可以在此处连接)。在这个例子中:
另请注意,过滤器和结果只返回一个“查询”(就像 ActiveModel::Relation 一样),其中执行是通过在其上调用某些东西来完成的,例如 'each' 或 'to_a' 等。
class Pageviews
extend Legato::Model
metrics :pageviews, :uniquePageviews
dimensions :pagePathLevel1
filter(:by_index_in_path_level_1) {|page_path_level1| contains(:pagePathLevel1, 'index')}
def self.query(profile, start_date, end_date)
Pageviews.results(profile,
:start_date => start_date,
:end_date => end_date
)
# Just for reference, sorting descending by pageviews is done by: :sort => '-pageviews'
end
def self.query_index(profile, start_date, end_date)
Pageviews.by_index_in_path_level_1.results(profile,
:start_date => start_date,
:end_date => end_date
)
end
end
准备就绪后,您可以执行以下操作:
Pageviews.query(profile, start_date, end_date).each do |result|
# Just print the pageviews & unique-pageviews, for example
puts result.try(:pageviews)
puts result.try(:uniquePageviews)
end
最后,我建议您首先使用Google Analytics Query Explorer进行探索。
我希望这个例子对你有帮助