如何以编程方式获取华为应用市场上应用程序的版本?
How to programmatically get the version of an app on Huawei AppGallery?
我知道如何为 Google Play Store (answer here) 完成,但我没能找到 AppGallery 的方法。
谢谢!
更新 #1
使用下面的答案,我通过以下步骤部分解决了这个问题:
- 创建一个具有管理员角色的API 客户端,它也适用于应用程序管理员和操作。 (此处的文档:API Client)
- 获取访问令牌。 (此处的文档:Obtaining a Token)
- 获取应用信息。 (此处的文档:Querying App Information)
查询应用信息的响应,有很多关于应用的信息,包括“versionNumber”,但对我来说它没有提供“versionNumber”(我需要的单一信息),因为这个参数是选修的。现在我又卡住了,因为我不明白我需要改变什么才能收到这个。
如果有人知道我该如何解决这个问题,非常感谢您的帮助。
更新#2
@shirley 的评论是正确的。
该问题已在他们的最新版本中修复,并已于本月发布。
可以调用查询应用信息API(GET方式)查询应用详情:
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) {
}
}
此处提到了它们:Completing App Information, Querying App Information。
我知道如何为 Google Play Store (answer here) 完成,但我没能找到 AppGallery 的方法。 谢谢!
更新 #1
使用下面的答案,我通过以下步骤部分解决了这个问题:
- 创建一个具有管理员角色的API 客户端,它也适用于应用程序管理员和操作。 (此处的文档:API Client)
- 获取访问令牌。 (此处的文档:Obtaining a Token)
- 获取应用信息。 (此处的文档:Querying App Information)
查询应用信息的响应,有很多关于应用的信息,包括“versionNumber”,但对我来说它没有提供“versionNumber”(我需要的单一信息),因为这个参数是选修的。现在我又卡住了,因为我不明白我需要改变什么才能收到这个。
如果有人知道我该如何解决这个问题,非常感谢您的帮助。
更新#2
@shirley 的评论是正确的。 该问题已在他们的最新版本中修复,并已于本月发布。
可以调用查询应用信息API(GET方式)查询应用详情:
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) {
}
}
此处提到了它们:Completing App Information, Querying App Information。