reportRoot: getTeamsUserActivityUserDetail

命名空间:microsoft.graph

重要

Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。

按用户获取有关 Microsoft Teams 用户活动的详细信息。

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) Reports.Read.All 不可用。
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用 Reports.Read.All 不可用。

注意:对于允许应用代表用户读取服务使用情况报告的委托权限,租户管理员必须向用户分配适当的Microsoft Entra ID受限管理员角色。 有关更多详细信息,请参阅授权 API 读取 Microsoft 365 使用情况报告

HTTP 请求

GET /reports/getTeamsUserActivityUserDetail(period='{period_value}')
GET /reports/getTeamsUserActivityUserDetail(date={date_value})

函数参数

在请求 URL 中,提供以下任一参数的有效值。

参数 类型 说明
period string 指定在多长时间内聚合报表。 受支持的 {period_value} 值为:D7、D30、D90 和 D180。 这些值采用格式 Dn,其中 n 表示在多少天内聚合报表。
date Date 指定要查看用户在哪个日期执行的任何活动。 {date_value} 必须采用格式 YYYY-MM-DD。 因为此报表的有效期仅为过去 30 天,所以 {date_value} 应为这个范围内的日期。

注意:需要在 URL 中设置 period 或 date。

可选的查询参数

此方法支持 $format$top$skipTokenOData 查询参数 来自定义响应。 默认输出类型为 text/csv。 但是,如果要指定输出类型,可以使用设置为 text/csvapplication/json的 OData $format 查询参数。

请求标头

名称 说明
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权

请求正文

请勿提供此方法的请求正文。

响应

CSV

如果成功,此方法返回 302 Found 响应,以重定向到报表的预先验证的下载 URL。 可以在响应的 Location 头中找到此 URL。

预先验证的下载 URL 的有效时间很短(几分钟),不需要 Authorization 头。

CSV 文件包含下面的列标题。

  • 报表刷新日期
  • 租户显示名称
  • 共享频道租户显示名称
  • User Id
  • 用户主体名称
  • 上次活动日期
  • 已删除
  • 删除日期
  • 分配的产品
  • 团队聊天消息计数
  • 专用聊天消息计数
  • 呼叫计数
  • 会议计数
  • 发布消息
  • 回复消息
  • 紧急消息
  • 组织会议数量
  • 参加会议数量
  • 临时组织会议数量
  • 临时出席会议数量
  • 安排组织的一次性会议数量
  • 安排出席的一次性会议数量
  • 安排组织的定期会议数量
  • 安排出席的定期会议数量
  • 音频持续时间
  • 视频持续时间
  • 屏幕共享持续时间
  • 音频持续时间(以秒为单位)
  • 视频持续时间(以秒为单位)
  • 屏幕共享持续时间(以秒为单位)
  • 包含其他操作
  • 已获得许可
  • 报表周期

注意

“组织会议数量”中的值可能不是用户在指定时间段内组织的“临时组织会议数量”、“安排组织的一次性会议数量”和“安排组织的定期会议数量”的总和。 这是因为未分类的会议值不包含在输出 CSV 文件中。 有关详细信息,请参阅 Microsoft Teams 用户活动报告

JSON

如果成功,此方法在 200 OK 响应正文中返回响应代码和 JSON 对象。

此请求的默认页面大小为 2000 个项目。

示例

示例 1:CSV 输出

下面是输出 CSV 的示例。

请求

以下示例显示了一个请求。

GET https://graph.microsoft.com/beta/reports/getTeamsUserActivityUserDetail(period='D7')?$format=text/csv

响应

以下示例显示了相应的响应。

HTTP/1.1 302 Found
Content-Type: text/plain
Location: https://reports.office.com/data/download/JDFKdf2_eJXKS034dbc7e0t__XDe

执行 302 重定向,下载的 CSV 文件将采用以下架构。

HTTP/1.1 200 OK
Content-Type: application/octet-stream

Report Refresh Date,Tenant Display Name,Shared Channel Tenant Display Names,User Id,User Principal Name,Last Activity Date,Is Deleted,Deleted Date,Assigned Products,Team Chat Message Count,Private Chat Message Count,Call Count,Meeting Count,Post Messages,Reply Messages,Urgent Messages,Meetings Organized Count,Meetings Attended Count,Ad Hoc Meetings Organized Count,Ad Hoc Meetings Attended Count,Scheduled One-time Meetings Organized Count,Scheduled One-time Meetings Attended Count,Scheduled Recurring Meetings Organized Count,Scheduled Recurring Meetings Attended Count,Audio Duration,Video Duration,Screen Share Duration,Audio Duration In Seconds,Video Duration In Seconds,Screen Share Duration In Seconds,Has Other Action,Is Licensed,Report Period

示例 2:JSON 输出

下面是返回 JSON 的示例。

请求

以下示例显示了一个请求。

GET https://graph.microsoft.com/beta/reports/getTeamsUserActivityUserDetail(period='D7')?$format=application/json

响应

以下示例显示了相应的响应。

注意:为了提高可读性,可能缩短了此处显示的响应对象。

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 452

{
  "value": [
    {
      "reportRefreshDate": "2017-09-01", 
      "tenantDisplayName": "Microsoft",
      "sharedChannelTenantDisplayNames": "SampleTenant",
      "userId": "userId-value", 
      "userPrincipalName": "userPrincipalName-value", 
      "isLicensed": true, 
      "lastActivityDate": "2017-09-01", 
      "isDeleted": false, 
      "deletedDate": null, 
      "assignedProducts": [
        "Microsoft 365 ENTERPRISE E5"
      ], 
      "teamChatMessageCount": 0, 
      "privateChatMessageCount": 49, 
      "callCount": 2, 
      "meetingCount": 0,
      "postMessages": 10,
      "replyMessages": 1,
      "urgentMessages": 1, 
      "meetingsOrganizedCount": 0, 
      "meetingsAttendedCount": 0, 
      "adHocMeetingsOrganizedCount": 0, 
      "adHocMeetingsAttendedCount": 0, 
      "scheduledOneTimeMeetingsOrganizedCount": 0, 
      "scheduledOneTimeMeetingsAttendedCount": 0, 
      "scheduledRecurringMeetingsOrganizedCount": 0, 
      "scheduledRecurringMeetingsAttendedCount": 0, 
      "audioDuration": 00:00:00, 
      "videoDuration": 00:00:00, 
      "screenShareDuration": 00:00:00, 
      "hasOtherAction": true, 
      "reportPeriod": "7"
    }
  ]
}