API Android Market не возвращает результаты - PullRequest
0 голосов
/ 02 ноября 2011

У меня есть код ниже, который вызывается в моем приложении. appName, передаваемое в метод execute, является любым именем приложения, которое пользователь желает искать. Первоначально это работало нормально, однако теперь основное приложение, которое я хочу поиск не возвращает никаких результатов. например, если 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 ]

1 голос
/ 29 декабря 2011

Вы должны предоставить свой реальный идентификатор Android, чтобы он работал. не этот фальшивый androidId: "0123456789123456"

Вы можете получить его из сервисного монитора gtalk. http://www.honeytechblog.com/monitor-google-talk-service-android/

(числовая часть идентификатора Android)

1 голос
/ 02 ноября 2011

Для Android Market нет официального API .

Если у вас возникли проблемы с используемым сторонним API, попробуйте связаться с разработчиками этого API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...