Android market API无法返回结果

时间:2011-11-01 20:09:40

标签: android google-play

我在我的应用程序中调用了以下代码。 传递给execute方法的appName是用户的任何应用程序名称 希望寻找。 最初这个工作正常,但现在我想要的主要应用程序 搜索没有返回任何结果。 例如,如果appName =“maps”,则返回值数组 如果appName =“capitalOne”,则找不到结果。 就像我上面所说的,这确实有效,然后有一天它就停止了 返回我搜索的主要应用的结果。 任何帮助将不胜感激。

    private Callback<AppsResponse> callback = new Callback<AppsResponse>() { 
            public void onResult(ResponseContext context, AppsResponse response) { 
                    List<Results> list = new ArrayList<Results>(); 
                    List<App> apps = response.getAppList(); 
                    for (App app : apps) { 
                            Results r = new Results(); 
                            r.setArtistName(app.getCreator()); 
                            r.setArtistId(app.getCreatorId()); 
                            r.setKind(app.getAppType().toString()); 
                            r.setTrackId("DROID_" + app.getId()); 
                            r.setPrice(app.getPrice()); 
                            r.setVersion(app.getVersion()); 
                            r.setAverageUserRating(app.getRating());
                            r.setUserRatingCount(String.valueOf(app.getRatingsCount())); 

                            r.setTrackViewUrl("https://ssl.gstatic.com/android/market/" 
                                            + app.getPackageName()); 
                            list.add(r); 
                    } 
                    res.setResults(list); 
            } 
    }; 
    public T execute(String appName) throws Exception { 
            String query = appName; 
            session.login("email", "password"); 
            res = new SearchResults(); 
            AppsRequest appsRequest = AppsRequest.newBuilder().setQuery(query) .setStartIndex(0).setEntriesCount(10).setWithExtendedInfo(true) 
                            .build(); 
            session.append(appsRequest, callback); 
            session.flush(); 
            return (T) res; 
    } 

这是发送到Android市场的上下文

authSubToken: "token goes here"
unknown1: 0
version: 1002012
androidId: "0123456789123456"
deviceAndSdkVersion: "crespo:8"
userLanguage: "en"
userCountry: "us"
operatorAlpha: "T-Mobile"
simOperatorAlpha: "T-Mobile"
operatorNumeric: "310260"
simOperatorNumeric: "310260" 

2 个答案:

答案 0 :(得分:1)

Android电子市场没有官方API

如果您遇到第三方API的问题,您应该尝试联系该API的开发人员。

答案 1 :(得分:1)

你必须为你提供真正的机器人ID才能使它工作。 不是这个假的androidId:“0123456789123456”

您可以从gtalk服务监视器获取它 http://www.honeytechblog.com/monitor-google-talk-service-android/

(android id的数字部分)