有没有办法在不需要用户凭据的情况下查询Play商店的应用版本。我知道这个非官方的API:
http://code.google.com/p/android-market-api/
但我不想依赖用户凭据 - 我也可以通过Chrome也以隐身模式访问Google Play网站 - 所以它必须以某种方式可能。但是我找不到任何方法,我不想回避刮擦; - )
答案 0 :(得分:14)
通过G +找到合适的API: 这是API:https://androidquery.appspot.com
示例电话:https://androidquery.appspot.com/api/market?app=org.ligi.fast
答案 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,它应该会为您提供正确的版本。