有没有一种方法可以在不需要用户凭据的情况下查询应用程序版本的 Play 商店。我知道这个非官方的 API:
http://code.google.com/p/android-market-api/
但我不想依赖用户凭据——我也可以通过 chrome 以隐身模式访问 google play 网站——所以它必须以某种方式成为可能。但我没有办法,我不想回退到刮;-)
有没有一种方法可以在不需要用户凭据的情况下查询应用程序版本的 Play 商店。我知道这个非官方的 API:
http://code.google.com/p/android-market-api/
但我不想依赖用户凭据——我也可以通过 chrome 以隐身模式访问 google play 网站——所以它必须以某种方式成为可能。但我没有办法,我不想回退到刮;-)
通过 G+ 找到了合适的 API:这是 API:https ://androidquery.appspot.com
示例调用:https ://androidquery.appspot.com/api/market?app=org.ligi.fast
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 或进行字符串搜索。
另请查看: www.playstoreapi.com
它是非官方的,但易于使用(非商业用途免费)。您可以获取有关应用程序的数据、搜索 Play 商店并获取热门图表数据。从他们的文档部分:
节点.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));
}
请记住,如今许多应用程序都在运行多个版本。对于只有一个版本的应用程序,您可以尝试42matters Lookup API,它应该为您提供正确的版本。