我在我的应用程序中调用了以下代码。 传递给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"
答案 0 :(得分:1)
Android电子市场没有官方API 。
如果您遇到第三方API的问题,您应该尝试联系该API的开发人员。
答案 1 :(得分:1)
你必须为你提供真正的机器人ID才能使它工作。 不是这个假的androidId:“0123456789123456”
您可以从gtalk服务监视器获取它 http://www.honeytechblog.com/monitor-google-talk-service-android/
(android id的数字部分)