android - 如何以编程方式获取华为应用市场上的应用版本?
问题描述
我知道如何为 Google Play 商店(在此处回答)做到这一点,但我没有设法找到 AppGallery 的方法。谢谢!
更新#1
使用下面的答案,我通过以下步骤部分解决了这个问题:
Querying App Information 的响应有很多关于应用程序的信息,包括“versionNumber”,但对我来说,它不提供“versionNumber”(我需要的单个信息),因为这个参数是可选的。现在我又被卡住了,因为我不明白我需要改变什么才能收到这个。
如果有人知道我如何解决这个问题,非常感谢您的帮助。
更新#2
@shirley 的评论是正确的。该问题已在其最新版本中得到修复,并已于本月发布。
解决方案
您可以调用查询应用信息接口(GET方式)查询应用详情:</p>
public static void getAppInfo(String domain, String clientId, String token, String appId, String lang) {
HttpGet get = new HttpGet(domain + "/publish/v2/app-info?appid=" + appId + "&lang=" + lang);
get.setHeader("Authorization", "Bearer " + token);
get.setHeader("client_id", clientId);
try {
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse httpResponse = httpClient.execute(get);
int statusCode = httpResponse.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
BufferedReader br =
new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), Consts.UTF_8));
String result = br.readLine();
// Object returned by the app information query API, which can be received using the AppInfo object. For details, please refer to the API reference.
JSONObject object = JSON.parseObject(result);
System.out.println(object.get("ret"));
}
} catch (Exception e) {
}
}
推荐阅读
- python - Python 示例并从列表中删除项目
- sql - 存储过程(输入与输出)与返回 - SQL Server
- ssl - DigitalOcean & Letsencrypt - 如何为 HTTPS 安装 SSL
- bash - 如何使用 bash 杀死远程服务器上的多个进程
- javascript - Typo3 中的响应式拆分菜单
- javascript - Vue + Laravel + Amchart:所选值不会缩放到地图上所选国家
- apache-kafka - 当要连接的数据可以分配在不同的机器上时,Kafka Streams 如何执行连接?
- after-effects - sourceText 值是根据当前时间指示器的图层索引号
- tableau-api - Tableau - 我在“对象”部分看不到“扩展”
- python - 在 Python 中检索 cmd 行参数