20

ユーザー資格情報を必要とせずにアプリのバージョンをプレイストアに問い合わせる方法はありますか? 私はこの非公式 API を認識しています:

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

しかし、私はユーザーの資格情報に依存したくありません.Chromeを介してシークレットモードでGoogle Playサイトにアクセスすることもできます. しかし、私は方法を見つけられなかったので、スクレイピングにフォールバックしたくありません;-)

4

4 に答える 4

14

G +経由で適切なAPIを見つけました:これはAPIです:https ://androidquery.appspot.com

呼び出し例:https ://androidquery.appspot.com/api/market?app = org.ligi.fast

そしてこのラッパー/コード:https ://github.com/androidquery/androidquery

于 2013-01-24T22:36:26.547 に答える
2

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 パーサーを使用したり、文字列検索を行ったりすることもできます。

于 2013-01-23T00:20:29.647 に答える
0

また、チェックアウト: www.playstoreapi.com

非公式ですが、使いやすいです (非商用利用は無料)。アプリに関するデータを取得したり、Play ストアを検索したり、トップ チャート データを取得したりできます。ドキュメントセクションから:

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>

パイソン:

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));
}
于 2014-04-17T06:45:59.747 に答える
0

現在、多くのアプリで複数のバージョンが実行されていることに注意してください。42matters Lookup APIを試すことができる 1 つのバージョンのアプリについては、正しいバージョンが提供されるはずです。

于 2016-04-01T15:11:00.523 に答える