Ответ 1
Найден подходящий API через G +: это API: https://androidquery.appspot.com
Пример вызова: https://androidquery.appspot.com/api/market?app=org.ligi.fast
и эта оболочка/код: https://github.com/androidquery/androidquery
есть ли способ запросить хранилище воспроизведения для версии приложения без необходимости использования учетных данных пользователя. Я знаю об этом неофициальном API:
http://code.google.com/p/android-market-api/
но я не хочу полагаться на учетные данные пользователя - я могу посещать игровые сайты google в режиме инкогнито через хром - так что это должно быть возможно каким-то образом. Но я не нашел пути, и я не хочу отказываться от выскабливания; -)
Найден подходящий API через G +: это API: https://androidquery.appspot.com
Пример вызова: https://androidquery.appspot.com/api/market?app=org.ligi.fast
и эта оболочка/код: https://github.com/androidquery/androidquery
Google Play не предоставляет официальных API для извлечения метаданных. Однако вы можете проверить неофициальный API на http://code.google.com/p/android-market-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
Это неофициальный, но простой в использовании (бесплатный для некоммерческого использования). вы можете получать данные о приложениях, искать в магазине воспроизведения и получать данные о лучших графиках. из раздела документации:
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
С#.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, он должен предоставить вам правильную версию.