2

根据此处的对话:是否有 API 可以在 Google Play 上获取销售报告?

可能有一种方法可以向 google play 发出 HTTPS 请求 (?) 以编程方式检索下载统计信息。我正在尝试设置一个每天运行的程序并将此信息下载为 csv 文件。

有没有人有如何提出请求和提供身份验证的示例?

基本上我想下载 Andlytics 在 csv 中提供的信息

4

2 回答 2

2

没有 API。好消息是,现在所有人都可以使用的新 Google Play 控制台界面允许以 CSV 格式导出所有统计信息。

只是为了好玩,这里有一些其他的建议:

Andlytics 应用程序只是模拟浏览器并解析 JSON AJAX 请求。它是开源的,你可以在这里找到所有的代码(Java)https://github.com/AndlyticsProject/andlytics

您还可以使用 Rails 和 Selenium 做一个基本的控制台刮板:

module Console
  require 'selenium-webdriver'

  def self.user_stats email, password
    login email, password
    stats = extract_stats
    extract_packages.each_with_index do |package, i|
      download = stats[i*2]
      install = stats[i*2+1]
      puts "#{package} - Downloaded #{download} / Installed #{install}"
    end
    quit
  end

  def self.init
    @driver.quit if @driver
    @driver = Selenium::WebDriver.for :firefox
  end

  def self.quit
    @driver.quit if @driver
  end

  def self.login email, password
    init
    @driver.navigate.to "https://market.android.com/publish/Home"
    element = @driver.find_element(:name, 'Email')
    element.send_keys email
    element = @driver.find_element(:name, 'Passwd')
    element.send_keys password
    element.submit
    sleep 10
  end

  def self.extract_packages
    packages = []
    @driver.find_elements(:xpath, '//div[@class="listingRow"]/table/tbody/tr/td/div/a').each do |e|
      if m = e.attribute('href').match(/^https\:\/\/market\.android\.com\/publish\/Home#ViewCommentPlace\:p\=(.*)$/)
        packages << m[1]
      end
    end
    packages
  end

  def self.extract_stats
    stats = []
    @driver.find_elements(:xpath, '//div[@class="listingRow"]/div/div/span').each do |e|
      if m = e.text.match(/^([0-9,\. ]+).*$/)
        stats << m[1].gsub(/[^\d]/, "")
      end
    end
    stats
  end

end

只需添加 CSV/db 的内容和一个 cronjob,它应该可以工作。

于 2012-11-04T22:05:47.303 回答
2

现在有一种方法可以轻松地从 Play 商店获取所有统计信息。在开发者控制台上,单击报告 > 统计信息,您应该会看到所有报告(csv 格式)。它们都存储在 Google Cloud Storage 上,因此您可以通过编程方式将它们全部下载。

于 2016-02-18T09:08:14.700 回答