命名空间:microsoft.graph.networkaccess
重要
Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
根据指定时间段内聚合的流量日志获取 应用程序使用情况分析 数据点的集合,提供全局安全访问中云和企业应用程序之间的每日使用情况细分。
此 API 可用于以下国家级云部署。
| 全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
| ✅ |
❌ |
❌ |
❌ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
| 权限类型 |
最低特权权限 |
更高特权权限 |
| 委派(工作或学校帐户) |
NetworkAccess.Read.All |
NetworkAccess.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
不支持。 |
不支持。 |
| 应用程序 |
NetworkAccess.Read.All |
不支持。 |
重要
对于使用工作或学校帐户的委派访问,必须为登录用户分配受支持的Microsoft Entra角色或授予此操作所需权限的自定义角色。 此操作支持以下内置角色,这些角色仅提供所需的最小特权:
- 全局读取者
- 全局安全访问日志读取器
- 全局安全访问管理员
- 安全管理员
HTTP 请求
GET /networkAccess/reports/getApplicationUsageAnalytics(startDateTime={startDateTime},endDateTime={endDateTime},aggregatedBy={aggregatedBy})
函数参数
在请求 URL 中,提供以下查询参数(含值)。
| 参数 |
类型 |
说明 |
| startDateTime |
DateTimeOffset |
报告周期开始的日期和时间。 |
| endDateTime |
DateTimeOffset |
报告周期结束的日期和时间。 |
| aggregatedBy |
microsoft.graph.networkaccess.aggregationFilter |
返回数据的聚合类型。 可取值包括:transactions、users、devices、unknownFutureValue、bytesSent、bytesReceived、totalBytes。
Prefer: include-unknown-enum-members使用请求标头从此可演变枚举中获取以下值:bytesSent、bytesReceived、totalBytes。 |
| 名称 |
说明 |
| Authorization |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
| include-unknown-enum-members |
可选。 添加此标头以检索 sentinel 值后面的枚举成员。 |
请求正文
请勿提供此方法的请求正文。
响应
如果成功,此函数在 200 OK 响应正文中返回响应代码和 microsoft.graph.networkaccess.applicationAnalyticsUsagePoint 集合。
示例
请求
以下示例显示了一个请求。
GET https://graph.microsoft.com/beta/networkAccess/reports/getApplicationUsageAnalytics(startDateTime={startDateTime},endDateTime={endDateTime},aggregatedBy={aggregatedBy})
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models.Networkaccess;
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.NetworkAccess.Reports.MicrosoftGraphNetworkaccessGetApplicationUsageAnalyticsWithStartDateTimeWithEndDateTimeWithAggregatedBy("transactions",DateTimeOffset.Parse("{endDateTime}"),DateTimeOffset.Parse("{startDateTime}")).GetAsGetApplicationUsageAnalyticsWithStartDateTimeWithEndDateTimeWithAggregatedByGetResponseAsync();
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
startDateTime , err := time.Parse(time.RFC3339, "{startDateTime}")
endDateTime , err := time.Parse(time.RFC3339, "{endDateTime}")
aggregatedBy := "transactions"
microsoftGraphNetworkaccessGetApplicationUsageAnalytics, err := graphClient.NetworkAccess().Reports().MicrosoftGraphNetworkaccessGetApplicationUsageAnalyticsWithStartDateTimeWithEndDateTimeWithAggregatedBy(&startDateTime, &endDateTime, &aggregatedBy).GetAsGetApplicationUsageAnalyticsWithStartDateTimeWithEndDateTimeWithAggregatedByGetResponse(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
var result = graphClient.networkAccess().reports().microsoftGraphNetworkaccessGetApplicationUsageAnalyticsWithStartDateTimeWithEndDateTimeWithAggregatedBy("transactions", OffsetDateTime.parse("{endDateTime}"), OffsetDateTime.parse("{startDateTime}")).get();
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$result = $graphServiceClient->networkAccess()->reports()->microsoftGraphNetworkaccessGetApplicationUsageAnalyticsWithStartDateTimeWithEndDateTimeWithAggregatedBy('transactions', new \DateTime('{endDateTime}'),new \DateTime('{startDateTime}'))->get()->wait();
Import-Module Microsoft.Graph.Beta.NetworkAccess
Get-MgBetaNetworkAccessReportApplicationUsageAnalytic -StartDateTime $startDateTimeId -EndDateTime $endDateTimeId -AggregatedBy $aggregatedById
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
result = await graph_client.network_access.reports.microsoft_graph_networkaccess_get_application_usage_analytics_with_start_date_time_with_end_date_time_with_aggregated_by("transactions","{endDateTime}","{startDateTime}").get()
响应
以下示例显示了相应的响应。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.networkaccess.applicationAnalyticsUsagePoint)",
"value":[
{
"timeStampDateTime":"2023-08-20T00:00:00Z",
"totalCount":150,
"enterpriseAppsCount":85,
"cloudAppsCount":65
},
{
"timeStampDateTime":"2023-08-21T00:00:00Z",
"totalCount":175,
"enterpriseAppsCount":95,
"cloudAppsCount":80
}
]
}