获取应用的错误报告数据

使用 Microsoft Store 分析 API 中的此方法,可获取使用给定日期范围和其他可选筛选器时应用的聚合错误报告数据(JSON 格式)。 此方法仅可以检索过去 30 天内发生的错误。 还可以在合作伙伴中心的运行状况报告的“故障”部分中获取此信息

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

先决条件

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

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

请求

请求语法

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

请求头

标头 类型 说明
授权 字符串 必需。 Azure AD 访问令牌的格式为 Bearertoken<>。

请求参数

参数 类型 描述 必需
applicationId string 要检索错误报告数据的应用的 Store ID。 存储 ID 在合作伙伴中心的应用标识页上提供。 Store ID 示例:9WZDNCRFJ3Q8。
startDate date 要检索的错误报告数据日期范围中的开始日期。 默认是当前日期。 如果 aggregationLeveldayweekmonth,则此参数应以格式 mm/dd/yyyy 指定日期。 如果 aggregationLevelhour,此参数可以采用格式 mm/dd/yyyy 指定日期,或采用格式 yyyy-mm-dd hh:mm:ss 指定日期和时间。

注意:此方法仅可以检索过去 30 天内发生的错误。
endDate date 要检索的错误报告数据日期范围中的结束日期。 默认是当前日期。 如果 aggregationLeveldayweekmonth,则此参数应以格式 mm/dd/yyyy 指定日期。 如果 aggregationLevelhour,此参数可以采用格式 mm/dd/yyyy 指定日期,或采用格式 yyyy-mm-dd hh:mm:ss 指定日期和时间。
top int 要在请求中返回的数据行数。 如果未指定,最大值和默认值为 10000。 当查询中存在多行数据时,响应正文中包含的下一个链接可用于请求下一页数据。
skip int 要在查询中跳过的行数。 使用此参数可以浏览较大的数据集。 例如,top=10000 和 skip=0,将检索前 10000 行数据;top=10000 和 skip=10000,将检索之后的 10000 行数据,依此类推。
filter string 在响应中筛选行的一条或多条语句。 每条语句包含的响应正文中的字段名称和值使用 eqne 运算符进行关联,并且语句可以使用 andor 进行组合。 filter 参数中的字符串值必须使用单引号引起来。 可以指定响应正文中的以下字段:

  • applicationName
  • failureName
  • failureHash
  • 符号
  • osVersion
  • osRelease
  • eventType
  • market
  • deviceType
  • packageName
  • packageVersion
  • date
aggregationLevel string 指定用于检索聚合数据的时间范围。 可以是以下字符串之一:hourdayweekmonth。 如果未指定,默认值为 day。 如果指定 weekmonthfailureNamefailureHash 值限制为 1000 个存储桶。

注意:如果指定 hour,则只能检索之前 72 小时的错误数据。 若要检索早于 72 小时的错误数据,请指定 day 或另一个聚合级别。
orderby string 对结果数据值进行排序的语句。 语法为 orderby=field [order],field [order],...,其中 field 参数可以是以下字符串之一:
  • applicationName
  • failureName
  • failureHash
  • 符号
  • osVersion
  • osRelease
  • eventType
  • market
  • deviceType
  • packageName
  • packageVersion
  • date

order 参数是可选的,可以是 ascdesc,用于指定每个字段的升序或降序排列。 默认值为 asc

下面是一个 orderby 字符串的示例:orderby=date,market

groupby string 仅将数据聚合应用于指定字段的语句。 可以指定的字段如下所示:
  • failureName
  • failureHash
  • 符号
  • osVersion
  • eventType
  • market
  • deviceType
  • packageName
  • packageVersion

返回的数据行将包含 groupby 参数中指定的字段以及以下字段:

  • date
  • applicationId
  • applicationName
  • deviceCount
  • eventCount

groupby 参数可以与 aggregationLevel 参数结合使用。 例如:&groupby=failureName,market&aggregationLevel=week

请求示例

以下示例演示用于获取错误报告数据的多个请求。 将 applicationId 值替换为你的应用的 Store 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>

响应

响应正文

类型 说明
Value 数组 包含聚合错误报告数据的对象数组。 有关每个对象中的数据的详细信息,请参阅下面的错误值部分。
@nextLink string 如果存在其他数据页,则此字符串包含一个你可用来请求下一页数据的 URI。 例如,当请求的 top 参数设置为 10000,但查询的错误超过 10000 行时,就会返回此值。
TotalCount integer 查询的数据结果中的行总数。

错误值

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

Value 类型 说明
date string 错误数据的日期范围中的第一个日期,格式为 yyyy-mm-dd。 如果请求指定了某一天,此值就是该日期。 如果请求指定了较长的日期范围,此值是该日期范围内的第一个日期。 对于指定 houraggregationLevel 值的请求,此值还包含采用格式 hh:mm:ss 的时间值。
applicationId string 要检索错误数据的应用的 Store ID。
applicationName string 应用的显示名称。
failureName string 故障的名称,它由四个部分组成:一个或多个问题类、异常/bug 检查代码、发生故障的映像的名称和相关的函数名称。
failureHash string 错误的唯一标识符。
符号 string 分配给此错误的符号。
osVersion string 以下字符串之一,用于指定发生错误的操作系统版本:
  • Windows Phone 7.5
  • Windows Phone 8
  • Windows Phone 8.1
  • Windows Phone 10
  • Windows 8
  • Windows 8.1
  • Windows 10
  • Windows 11
  • 未知
osRelease string 用于指定发生错误的操作系统版本或外部测试 Ring(作为操作系统版本内的亚组)的以下字符串之一。

对于 Windows 11:版本 2110

对于 Windows 10:

  • 版本 1507
  • 版本 1511
  • 版本 1607
  • 版本 1703
  • 版本 1709
  • 版本 1803
  • 预览版
  • 预览体验成员 - 快
  • 预览体验成员 - 慢

对于 Windows Server 1709:

  • RTM

对于 Windows Server 2016:

  • 版本 1607

对于 Windows 8.1:

  • Update 1

对于 Windows 7:

  • 服务包 1

如果 OS 版本或外部测试圈未知,则此字段具有“未知”值。

eventType string 以下字符串之一:
  • crash
  • 挂起
  • memory
  • jse
market string 设备市场的 ISO 3166 国家/地区代码。
deviceType string 以下字符串之一,用于指定发生错误的设备的类型:
  • 电脑
  • 电话
  • Console-Xbox One
  • Console-Xbox 系列 X
  • IoT
  • Holographic
  • 未知
packageName string 与此错误关联的应用包的唯一名称。
packageVersion string 与此错误关联的应用包的版本。
deviceCount 数字 对应于指定聚合级别的此错误的唯一设备数。
eventCount number 为指定的聚合级别归于此错误的事件数。

注意

此方法仅可以检索过去 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
}