获取应用的错误报告数据

在 Microsoft Store 分析 API 中使用此方法,以 JSON 格式获取应用在指定日期范围内的聚合错误报告数据,并可应用其他可选的筛选条件。 此方法只能检索过去 30 天内发生的错误。 在合作伙伴中心的 运行状况报告故障 部分中也提供了此信息。

可以使用 获取错误详细信息获取堆栈跟踪,以及 下载 CAB 文件 方法来检索其他错误信息。

先决条件

若要使用此方法,首先需要执行以下操作:

  • 完成 Microsoft Store 分析 API 的所有先决条件(如果尚未这样做)。
  • 获取 Azure AD 访问令牌,以供在此方法的请求标头中使用。 获取访问令牌后,在它到期前,你有 60 分钟的使用时间。 令牌过期后,可以获取一个新令牌。

请求

请求语法

方法 请求 URI
获取 https://manage.devcenter.microsoft.com/v1.0/my/analytics/failurehits

请求标头

标题 类型 DESCRIPTION
授权 字符串 必填。 Azure AD 访问令牌,形式为Bearer<token>。

请求参数

参数 类型 DESCRIPTION 必选
应用ID 字符串 要为其检索错误报告数据的应用的应用商店 ID。 商店 ID 可在合作伙伴中心的 应用标识页 上找到。 应用商店 ID 示例为 9WZDNCRFJ3Q8。 是的
开始日期 日期 需要检索的错误报告数据之日期范围的开始日期。 默认值为当前日期。 如果 aggregationLeveldayweekmonth,则此参数应以格式 mm/dd/yyyy指定日期。 如果 aggregationLevel 的值是 小时,则此参数可以指定格式为 mm/dd/yyyy 的日期或格式为 yyyy-mm-dd hh:mm:ss的日期和时间。

注意: 此方法只能检索过去 30 天内发生的错误。
结束日期 日期 要检索的错误报告数据的日期范围内的结束日期。 默认值为当前日期。 如果 aggregationLeveldayweekmonth,则此参数应以格式 mm/dd/yyyy指定日期。 如果 aggregationLevel 的值是 小时,则此参数可以指定格式为 mm/dd/yyyy 的日期或格式为 yyyy-mm-dd hh:mm:ss的日期和时间。
顶部 整数 (int) 请求中要返回的数据行数。 如果未指定,则最大值和默认值为 10000。 如果查询中有更多行,响应正文将包含下一个链接,可用于请求下一页的数据。
跳过 整数 (int) 查询中要跳过的行数。 使用此参数可分页浏览大型数据集。 例如,top=10000 和 skip=0 检索前 10000 行数据,top=10000 和 skip=10000 检索接下来的 10000 行数据,依此等。
过滤器 字符串 一个或多个用于筛选响应中行的语句。 每个语句都包含响应正文中的字段名称和值,这些字段名称与 eqne 运算符相关联,语句可以使用 进行组合。 字符串值必须用 筛选器 参数中的单引号括起来。 可以从响应正文中指定以下字段:

  • applicationName
  • failureName
  • failureHash
  • 符号
  • 操作系统版本
  • osRelease
  • eventType
  • 市场
  • 设备类型
  • 软件包名称
  • 软件包版本
  • 日期
聚合级别 字符串 指定要检索聚合数据的时间范围。 可以是以下字符串之一: 小时。 如果未指定,默认值为 day。 如果指定 ,则 failureNamefailureHash 的值限制为 1000 个桶。

注意: 如果您指定 小时,则只能检索过去 72 小时内的错误数据。 若要检索超过 72 小时的错误数据,请指定 或其他聚合级别之一。
排序 字符串 对结果数据值进行排序的语句。 语法为 *orderby=field [order]。 字段参数可以是以下字符串之一(且只有一个):
  • applicationName
  • failureName
  • failureHash
  • 符号
  • 操作系统版本
  • osRelease
  • eventType
  • 市场
  • 设备类型
  • 软件包名称
  • 软件包版本
  • 日期

顺序参数是可选的,可以是 ascdesc 来指定每个字段的升序或降序。 默认值为 asc

下面是 orderby 字符串的一个例子:orderby=date

注意:任何参数都必须来自 groupby 支持的列表中。

按组分类 字符串 仅对指定字段应用数据聚合的语句。 可以指定以下字段:
  • failureName
  • failureHash
  • 符号
  • 操作系统版本
  • eventType
  • 市场
  • 设备类型
  • 软件包名称
  • 软件包版本

返回的数据行将包含 groupby 参数中指定的字段,如下所示:

  • 日期
  • applicationId
  • applicationName
  • 设备数量
  • 事件计数

groupby 参数可与 aggregationLevel 参数一起使用。 例如: &groupby=failureName,market&aggregationLevel=week

注意:参数可能不包含重复项。

请求示例

以下示例演示了获取错误报告数据的多个请求。 将 applicationId 值替换为应用的应用商店 ID。

GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/failurehits?applicationId=9NBLGGGZ5QDR&startDate=1/1/2015&endDate=2/1/2015&top=10&skip=0 HTTP/1.1
Authorization: Bearer <your access token>

GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/failurehits?applicationId=9NBLGGGZ5QDR&startDate=8/1/2015&endDate=8/31/2015&skip=0&filter=market eq 'US' and deviceType eq 'phone' HTTP/1.1
Authorization: Bearer <your access token>

响应

响应体

价值 类型 DESCRIPTION
价值 数组 包含聚合错误报告数据的对象数组。 有关每个对象中的数据的详细信息,请参阅下面的 错误值 部分。
@nextLink 字符串 如果有其他数据页,此字符串包含可用于请求下一页数据的 URI。 例如,如果请求的 顶部 参数设置为 10000,但查询的错误行数超过 10000 行,则返回此值。
总计数 整数 查询的数据结果中的行总数。

错误值

Value 数组中的元素包含以下值。

价值 类型 DESCRIPTION
日期 字符串 错误数据中的日期范围的第一个日期,格式为 yyyy-mm-dd。 如果请求指定一天,则此值为该日期。 如果请求指定更长的日期范围,则此值是该日期范围中的第一个日期。 对于指定 aggregationLevel 值为 小时的请求,此数值还包括格式为 hh:mm:ss的时间值。
应用ID 字符串 要为其检索错误数据的应用的应用商店 ID。
应用程序名称 字符串 应用的显示名称。
故障名称 字符串 失败的名称由四个部分组成:一个或多个问题类、异常/bug 检查代码、发生故障的图像的名称以及关联的函数名称。
故障哈希码 字符串 错误唯一标识符。
象征 字符串 为此错误分配的符号。
osVersion 字符串 以下字符串之一,指定发生错误的 OS 版本:
  • Windows Phone 7.5
  • Windows Phone 8
  • Windows Phone 8.1
  • Windows Phone 10
  • Windows 8
  • Windows 8.1
  • Windows 10
  • Windows 11
  • 未知
osRelease 字符串 以下字符串之一,用于指定发生错误的 OS 版本或预发布环(作为 OS 版本中的子组)。

适用于 Windows 11:版本 2110

对于 Windows 10:

  • 版本 1507
  • 版本 1511
  • 版本 1607
  • 版本 1703
  • 版本 1709
  • 版本 1803
  • 发布预览
  • 内部人士快速版
  • 内部消息缓慢

对于 Windows Server 1709:

  • RTM

对于 Windows Server 2016:

  • 版本 1607

对于 Windows 8.1:

  • 更新 1

对于 Windows 7:

  • 服务包 1

如果操作系统版本或飞行环未知,此字段的值为 未知

事件类型 字符串 以下字符串之一:
  • 崩溃
  • 挂起
  • 记忆
  • jse
市场 字符串 设备市场的 ISO 3166 国家/地区代码。
设备类型 字符串 以下字符串之一,指示发生错误的设备的类型:
  • 个人电脑
  • 电话
  • Console-Xbox One
  • Console-Xbox 系列 X
  • IoT
  • 全息
  • 未知
包名 字符串 与此错误关联的应用包的唯一名称。
软件包版本 字符串 与此错误关联的应用包的版本。
设备数量 数字 对应于指定聚合级别的此错误的唯一设备数。
事件计数 数字 该指定聚合级别中因该错误而归因的事件数。

注释

此方法只能检索过去 30 天内发生的错误。

请求和响应示例

以下代码片段演示了这些请求的示例请求和 JSON 响应正文。

示例请求

GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/failurehits?applicationId=9NBLGGGZ5QDR&startDate=07/02/2022&endDate=07/20/2022&top=10&skip=0&filter=market eq 'US'&groupby=failureName,failureHash,symbol,osVersion,eventType,market,deviceType,packageName,packageVersion,osRelease&orderby=date
HTTP/1.1
Authorization: Bearer <your access token>

示例响应

{
    "Value": [
        {
            "date": "2022-07-21",
            "applicationId": "9NBLGGGZ5QDR",
            "applicationName": "Contoso Demo",
            "failureName": "APPLICATION_HANG_BlockedOn_FileIO_Microsoft.Contoso Demo!CEServices.InternalLiveTileUpdaterRuntime_dfffffff_Microsoft.Contoso Demo!unknown_error_in_application",
            "failureHash": "c21da75f-ea4d-538b-cfec-73654ef810b9",
            "symbol": "Microsoft.Contoso Demo!unknown_error_in_application",
            "osVersion": "6.3.9600",
            "osRelease": "RTM",
            "osArchitecture": null,
            "eventType": "hang",
            "market": "US",
            "deviceType": "PC",
            "praid": null,
            "packageName": "microsoft.Contoso Demo_2.5.2.34894_x86__8wekyb3d8bbwe",
            "packageVersion": "2.5.2.34894",
            "ram": null,
            "massStorage": null,
            "cpu": null,
            "cpuManufacturer": null,
            "cpuFamilyName": null,
            "sandboxId": null,
            "deviceCount": 6.0,
            "eventCount": 1.05263157894737
        },
        {
            "date": "2022-07-21",
            "applicationId": "9NBLGGGZ5QDR",
            "applicationName": "Contoso Demo",
            "failureName": "APPLICATION_HANG_BlockedOn_FileIO_Microsoft.Contoso Demo!CEServices.InternalLiveTileUpdaterRuntime_dfffffff_Microsoft.Contoso Demo!unknown_error_in_application",
            "failureHash": "c21da75f-ea4d-538b-cfec-73654ef810b9",
            "symbol": "Microsoft.Contoso Demo!unknown_error_in_application",
            "osVersion": "6.3.9600",
            "osRelease": "RTM",
            "osArchitecture": null,
            "eventType": "hang",
            "market": "US",
            "deviceType": "Unknown",
            "praid": null,
            "packageName": "microsoft.Contoso Demo_2.5.2.34894_x86__8wekyb3d8bbwe",
            "packageVersion": "2.5.2.34894",
            "ram": null,
            "massStorage": null,
            "cpu": null,
            "cpuManufacturer": null,
            "cpuFamilyName": null,
            "sandboxId": null,
            "deviceCount": 7.14285714285714,
            "eventCount": 1.05263157894737
        },
        {
            "date": "2022-07-21",
            "applicationId": "9NBLGGGZ5QDR",
            "applicationName": "Contoso Demo",
            "failureName": "APPLICATION_HANG_Microsoft.Contoso Demo!CEServices.InternalLiveTileUpdaterRuntime_dfffffff_twinapi.appcore.dll!WaitCoalesced",
            "failureHash": "233e04bb-7a3d-eb28-c316-1120aa9defc0",
            "symbol": "twinapi.appcore.dll!WaitCoalesced",
            "osVersion": "6.3.9600",
            "osRelease": "RTM",
            "osArchitecture": null,
            "eventType": "hang",
            "market": "US",
            "deviceType": "PC",
            "praid": null,
            "packageName": "microsoft.Contoso Demo_2.5.2.34894_x86__8wekyb3d8bbwe",
            "packageVersion": "2.5.2.34894",
            "ram": null,
            "massStorage": null,
            "cpu": null,
            "cpuManufacturer": null,
            "cpuFamilyName": null,
            "sandboxId": null,
            "deviceCount": 6.0,
            "eventCount": 8.94736842105263
        }
    ],
    "@nextLink": "failurehits?applicationId=9NBLGGGZ5QDR&aggregationLevel=day&startDate=2022/07/02&endDate=2022/07/21&top=10&skip=10&groupby=failureName,failureHash,symbol,osVersion,eventType,market,deviceType,packageName,packageVersion,osRelease&filter=market eq 'US'&orderby=date",
    "TotalCount": 443
}