使用API(令牌)从应用程序中心/曲棍球应用程序下载最新工件

问题描述 投票:0回答:4

最近曲棍球移至应用程序中心,我想使用 API 即时下载最新版本的 Android 和 iOS 版本。

我尝试了什么?

检查了官方 swagger api-specs

1. @GET("/v0.1/apps/{owner_name}/{app_name}/recent_releases")
2. @GET("/v0.1/apps/{owner_name}/{app_name}/builds/{build_id}/downloads/{download_type}")

但是第二个网址提供的下载网址有不同的主机,因此不起作用。

hockeyapp visual-studio-app-center-test
4个回答
3
投票

这个API:

@GET("/v0.1/apps/{owner_name}/{app_name}/builds/{build_id}/downloads/{download_type}")

如果您使用应用中心的构建服务,则下载构建版本。如果您仅使用分发服务,请尝试使用以下 API 之一来获取发布详细信息,其中包括下载网址:

https://openapi.appcenter.ms/#/distribute/releases_getLatestByUser https://openapi.appcenter.ms/#/distribute/releases_getLatestByDistributionGroup


3
投票

已更新

API已更改,我们可以使用的新API是

@GET("/v0.1/public/sdk/apps/{app_secret}/releases/latest")
    fun latestRelease(@Header("X-API-Token") apiToken: String, @Path("app_secret") secret: String): Call<JsonObject>

官方 swagger api

  • app_secret
    您可以使用应用程序列表列出您的应用程序秘密,使用此命令行。
  • apiToken
    您可以按照这些说明
  • 生成令牌

2
投票

API 已更改,不再支持 /v0.1/public/sdk/apps/{app_secret}/releases/latest。 你可以用它代替

https://api.appcenter.ms/v0.1/sdk/apps/{app_secret}/releases/latest

您可以轻松获得任何版本的另一个更好的选择是使用

https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/releases/{release_id}

获取 ID 为 release_id 或“latest”的版本,以获取分发给当前用户(来自所有分发组)的最新版本。

大摇大摆


0
投票

TL,DR: 如果分发源的链接包含三个部分,您可以直接通过releases_getLatestByDistributionGroup获取:

owner_name
app_name
distribution_group_name
install_url
(或
download_url
)键的值就是您所需要的。

以“Plus Messenger”源码为例:

https://install.appcenter.ms/users/rafalense-70ux/apps/plus-release/distribution_groups/public

owner_name
:“rafalense-70ux”

app_name
:“加释放”

distribution_group_name
:“公开”

因此包含来自 distgroup 的最新版本元数据的链接将类似于:

https://install.appcenter.ms/api/v0.1/apps/rafalense-70ux/plus-release/distribution_groups/public/releases/latest


大多数 openapi 都需要令牌。如果你想不用token访问资产,除了上面提到的方法之外,还有一个隐藏的API可以获取某个分发组中的所有“公开发布”:

api/v0.1/apps/{user}/{app}/distribution_groups/{dist}/public_releases

API 返回如下内容:

[   
   {
        "id": 9,
        "short_version": "1.0",
        "version": "26",
        "origin": "appcenter",
        "uploaded_at": "2022-04-19T13:40:13.181Z",
        "mandatory_update": false,
        "enabled": true,
        "is_external_build": false
    },
]

id
键的值可以在上面提到的第一个api上使用,将
latest
替换为id就足够了。

此 API 可能类似于 https://openapi.appcenter.ms/#/distribute/releases_listByDistributionGroup,而理论上,后者需要一个令牌才能为您提供“非公开”版本。

© www.soinside.com 2019 - 2024. All rights reserved.