在google play商店查询应用版本?

时间:2013-01-23 00:17:08

标签: android google-play

有没有办法在不需要用户凭据的情况下查询Play商店的应用版本。我知道这个非官方的API:

http://code.google.com/p/android-market-api/

但我不想依赖用户凭据 - 我也可以通过Chrome也以隐身模式访问Google Play网站 - 所以它必须以某种方式可能。但是我找不到任何方法,我不想回避刮擦; - )

4 个答案:

答案 0 :(得分:14)

答案 1 :(得分:0)

Google Play不提供任何用于检索元数据的官方API。但是,您可以在http://code.google.com/p/android-market-api/检查非官方API。

具体来说,请查看Wiki页面HowToSearchApps。对查询的响应包含版本信息:

您的查询类似于:

String query = "maps";
AppsRequest appsRequest = AppsRequest.newBuilder()
                                .setQuery(query)
                                .setStartIndex(0).setEntriesCount(10)
                                .setWithExtendedInfo(true)
                                .build();

session.append(appsRequest, new Callback<AppsResponse>() {
         @Override
         public void onResult(ResponseContext context, AppsResponse response) {
                  // Your code here
                  // response.getApp(0).getCreator() ...
                  // see AppsResponse class definition for more infos
         }
});

您的回复格式为:

{
  "app": [
    {
      "rating": "4.642857142857143",
      "title": "Ruboto IRB",
      "ratingsCount": 14,
      "creator": "Jan Berkel",
      "appType": "APPLICATION",
      "id": "9089465703133677000",
      "packageName": "org.jruby.ruboto.irb",
      "version": "0.1",
      "versionCode": 1,
      "creatorId": "\"Jan Berkel\"",
      "ExtendedInfo": {
        "category": "Tools",
        "permissionId": [
...

当然,您可以使用JSON Parser或进行字符串搜索。

答案 2 :(得分:0)

另请查看:www.playstoreapi.com

它非官方但易于使用(非商业用途免费)。您可以获取有关应用程序的数据,搜索游戏商店并获取热门图表数据。来自他们的文档部分:

Node.js的:

var request     = require('request');
var apiKey      = 'wij5czxu3mxkzkt9'; // your API key
var packageName = 'com.whatsapp';     // package Name, e.g. com.whatsapp for WhatsApp

var url = 'http://api.playstoreapi.com/v1.1/apps/' + packageName + '?key=' + apiKey;

request({
    url: url,
    json: true
    }, function (error, response, body) {
    if (!error && response.statusCode === 200) {
        console.log(body) // Print the json response
    }
});

HTML / JS:

<html>
<head>
<body>
<p></p>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

  <script>

  var apiKey = 'wij5czxu3mxkzkt9'; // your API key
  var app    = 'com.whatsapp';     // package com.whatsapp for WhatsApp

  var url = 'http://api.playstoreapi.com/v1.1/apps/' + app + '?key=' + apiKey;

  $.getJSON(url).done(function(appDetails) {
    $('p:last').html(JSON.stringify(appDetails));
  });

  </script>
</body>
</head>
<html>

的Python:

import urllib2
import json

packageName = 'com.whatsapp'      # package com.whatsapp for WhatsApp
apiKey      = 'wij5czxu3mxkzkt9'  # your API key

url = 'http://api.playstoreapi.com/v1.1/apps/{0}?key={1}'

response = urllib2.urlopen(url.format(packageName, apiKey))

data = json.load(response)   
print data

C#.NET:

string apiKey = "wij5czxu3mxkzkt9"; // your API key
string app    = "com.whatsapp";     // package com.whatsapp for WhatsApp

string url = "http://api.playstoreapi.com/v1.1/apps/{0}?key={1}";

using (var webClient = new System.Net.WebClient()) {
    string jsonString = webClient.DownloadString(string.Format(url, app, apiKey));
}

答案 3 :(得分:0)

请记住,现在很多应用程序都运行多个版本。对于具有一个版本的应用,您可以尝试42matters Lookup API,它应该会为您提供正确的版本。

相关问题