Я использую этот код, чтобы получить то, что я хочу, используя GARB.
require 'rubygems'
require 'garb'
require 'csv'
CA_CERT_FILE = "Cthe exact location of your cacert.pem file"
username = "your google analytics email address"
password = "your google analytics password"
web_profile = "UA-the correct number here"
limit = 10000
filter = {:productName.contains => "some product"} # this is your filter
sorter = :date.desc # you can use this part to sort
csvfile = "YourResults.csv"
Garb::Session.login(username, password, :secure => true)
class Report
extend Garb::Model
metrics :itemQuantity
dimensions :productName,
:date,
:customVarName2
end
CSV.open(csvfile, "w") do |csv|
csv << [ "itemQuantity",
"productName",
"date",
"customVarName2"
]
end
1.times do |i| # Be careful, you can cause duplication with this iteration. only do once per 10,000 expected rows
profile = Garb::Management::Profile.all.detect {|p| p.web_property_id == web_profile}
options = {
:start_date => (Date.today - 30),
:end_date => Date.today,
:limit => limit,
:offset => (i*limit) + 1,
:sort => sorter
}
result = Report.results(profile, options)
result = Report.results(profile, :filters => filter)
CSV.open(csvfile, "a") do |csv|
result.each do |r|
csv << ["#{r.item_quantity}",
"#{r.product_name}",
"#{r.date}",
"#{r.custom_var_name2}"
]
end
end
end
Чтобы найти файл cacert.pem, перейдите сюда http://curl.haxx.se/ca/cacert.pem, сохраните его в виде файла и ссылайтесь на него в коде..
Следует отметить, что вам нужно будет запросить метрики и измерения в паскалях, а затем поместить их в CSV с регистром подчеркивания (почему, я не знаю).
Кроме этого ты хорош как золото.Просто откройте файл CSV, когда закончите.