获取桌面应用程序的错误报告数据

在 Microsoft Store 分析 API 使用此方法,可获取已添加到 Windows 桌面应用程序计划的桌面应用程序的聚合错误报告数据。 此方法仅可以检索过去 30 天内发生的错误。 还可以在合作伙伴中心的桌面应用程序的运行状况报告中获取此信息。

先决条件

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

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

请求

请求语法

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

请求头

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

请求参数

参数 类型 描述 必需
applicationId string 要为其检索错误报告数据的桌面应用程序的产品 ID。 若要获取桌面应用程序的产品 ID,请在合作伙伴中心打开桌面应用程序的分析报告(如运行状况报告)并从 URL 检索产品 ID。
startDate date 要检索的错误报告数据日期范围中的开始日期,格式为 mm/dd/yyyy。 默认是当前日期。

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

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

orderby string 对结果数据值进行排序的语句。 语法为 orderby=field [order],field [order],...,其中 field 参数可以是以下字符串之一:
  • fileName
  • applicationVersion
  • failureName
  • failureHash
  • 符号
  • osVersion
  • osBuild
  • osRelease
  • eventType
  • market
  • deviceType
  • productName
  • date
order 参数是可选的,可以是 ascdesc,用于指定每个字段的升序或降序排列。 默认值为 asc

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

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

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

  • date
  • applicationId
  • applicationName
  • eventCount

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

请求示例

以下示例演示用于获取错误报告数据的多个请求。 将 applicationId 值替换为桌面应用程序的产品 ID。

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

GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/desktop/failurehits?applicationId=10238467886765136388&startDate=8/1/2017&endDate=8/31/2017&skip=0&filter=market eq 'US' and deviceType eq 'PC' 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 要为其检索错误数据的桌面应用程序的产品 ID。
productName string 从其关联的可执行文件的元数据派生的桌面应用程序的显示名称。
appName string 待定
fileName string 桌面应用程序的可执行文件的名称。
failureName string 故障的名称,它由四个部分组成:一个或多个问题类、异常/bug 检查代码、发生故障的映像的名称和相关的函数名称。
failureHash string 错误的唯一标识符。
符号 string 分配给此错误的符号。
osBuild string 发生错误的操作系统的四部分生成号。
osVersion string 用于指定在其上安装桌面应用程序的操作系统版本的以下字符串之一:

  • Windows 7
  • Windows 8.1
  • Windows 10
  • Windows 11
  • Windows Server 2016
  • Windows Server 1709
  • 未知
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 以下字符串之一,用于指定发生错误的设备的类型:

  • 电脑
  • 服务器
  • 平板电脑
  • Unknown
applicationVersion string 发生错误的应用程序可执行文件的版本。
eventCount 数字 为指定的聚合级别归于此错误的事件数。

响应示例

以下示例举例说明此请求的 JSON 响应正文。

{
  "Value": [
    {
      "date": "2018-02-01",
      "applicationId": "10238467886765136388",
      "productName": "Contoso Demo",
      "appName": "Contoso Demo",
      "fileName": "contosodemo.exe",
      "failureName": "SVCHOSTGROUP_localservice_IN_PAGE_ERROR_c0000006_hardware_disk!Unknown",
      "failureHash": "11242ef3-ebd8-d525-838d-b5497b225695",
      "symbol": "hardware_disk!Unknown",
      "osBuild": "10.0.15063.850",
      "osVersion": "Windows 10",
      "osRelease": "Version 1703",
      "eventType": "crash",
      "market": "US",
      "deviceType": "PC",
      "applicationVersion": "2.2.2.0",
      "eventCount": 0.0012422360248447205
    }
  ],
  "@nextLink": "desktop/failurehits?applicationId=10238467886765136388&aggregationLevel=week&startDate=2018/02/01&endDate2018/02/08&top=1&skip=1",
  "TotalCount": 21
}