提问者:小点点

如何在华为AppGallery上以编程方式获取应用程序的版本?


我知道谷歌应用商店是如何做到的(在这里回答),但是我没有找到应用画廊的方法。谢谢你!

更新#1

使用下面的答案,我通过以下步骤部分解决了这个问题:

  1. 创建一个具有管理员角色的API客户端,它也适用于应用程序管理员和操作。(此处的文档:API客户端)
  2. 获取访问令牌。(此处的文档:获取令牌)
  3. 获取应用信息。(此处的文档:查询应用信息)

来自查询应用信息的响应,有很多关于应用程序的信息,包括“versionNumber”,但对我来说,它不提供“versionNumber”(我需要的单个信息),因为这个参数是可选的。现在我又卡住了,因为我不明白我需要改变什么才能收到这个。

如果有人知道我如何解决这个问题,非常感谢您的帮助。

更新#2

@shirley的评论是对的。该问题已在他们的最新版本中修复,并已于本月发布。


共1个答案

匿名用户

你可以调用查询应用信息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) {
     }
 }

这里提到了它们:填写应用信息、查询应用信息。