2013-06-13 105 views
4

尝试使用Legato gem从Google Analytics获取查询结果(遵循之前的建议,我会去那里+进行一些研究)。似乎很容易定义我的查询,但我无法理解如何实际得到结果。阅读自述文件显示了如何构建一些“构建块”,但是我无法获得可以从中读取结果的对象。使用Legato gem获取查询结果

也许我错过了一些东西,查询结果应直接写入模型(DB),这不是我想要的(我想先查看它们)。也许这就是我没有看到任何东西的原因。

那么有人可以分享一个例子如何阅读结果吗?例如,只是将浏览量打印到屏幕上。

感谢

+1

好的,经过一些更多的试验和错误我找到了方法。需要调用“MyModel”.results(配置文件,<附加参数)并转换为数组(.to_a),您可以轻松浏览结果。 – user2339344

+0

我必须说,使用Legato的文档非常糟糕。我花了很多时间试图弄清楚。还是。 – nfriend21

+0

我同意。但我必须说,我已经设法找到我需要的东西,其中一些是通过搜索“Garb”示例来进行的,这些示例相似。并且为了我的需要,我发现它现在不那么复杂。你想让我发表我的榜样吗?另外,您是否首先尝试了GA API Explorer? – user2339344

回答

4

因此,这里是我发现使用它的方式: 您创建一个类来定义您的查询的“模型”(等有源模式恢复关系,你也可以串联这里) 。在此示例中:

  • 模型/查询检查页面浏览量& ga:pagePathLevel1维度中的独特页面浏览量。
  • 有一个可选的过滤器就可以使用,寻找pagePathLevel1内的“索引”(正如你所看到的,你可以选择使用与否,增加更多的过滤器,将它们连接起来,等

还要注意的是,过滤器&结果只返回一个“查询”(就像::加载ActiveModel关系),其中执行通过调用它做的东西,比如“每个”或“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探索。

我希望你能找到这个例子有帮助

+0

如果我想为下面的ga创建一个过滤器:medium == cpa,ga:medium == cpc,ga:medium == cpm,ga:medium == cpp,ga:medium == cpv,ga:medium = =有机的,ga:medium == ppc我该怎么做? –

+0

我认为你应该有几个过滤器(每个条件一个),然后你需要连接它们(例如,你使用范围)。但是自从我上次处理这件事以来已经快一年了,所以我可能是错的。 – user2339344

+0

你的意思是像Pageviews.filter1.filter2.etc.results(...)? –