microsoft-graph-api - 使用 $skip/$top 的客户端分页不适用于 Intune
问题描述
我们目前正在开发一个客户端应用程序,该应用程序通过使用以下 Microsoft Graph API 查询客户帐户上的所有设备来处理 Intune 设备:
获取https://graph.microsoft.com/v1.0/deviceManagement/managedDevices
在我们从测试环境迁移到生产帐户后,我们发现使用相关的 Microsoft Graph API OData 文档$skip
对设备进行手动分页并且$top
无法正常工作。
根据上述文件:
$skip
:索引到结果集中。也被一些 API 用来实现分页,可以与 $top 一起使用来手动分页结果。
但是,尽管目标客户帐户上注册了数千台设备,但以下查询返回空结果:
获取https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?$top=10&$skip=10
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#deviceManagement/managedDevices",
"@odata.count": 10,
"@odata.nextLink": "https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?$top=10&$skip=10",
"value": []
}
此外,我们发现 OData$filter
也不起作用,如以下代码段所示,该代码段查询operatingSystem
等于“Android”的设备:
GET 'https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?$top=100&filter=operatingSystem%20eq%20%27Android%27'
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#deviceManagement/managedDevices",
"@odata.count": 100,
"@odata.nextLink": "https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?$top=100&$skip=0&filter=operatingSystem+eq+%27Android%27",
"value": [
{
"id": "5bac965e-25e3-4f99-97fb-da21a280f684",
"userId": "some-uuid-value",
"deviceName": "My Iphone",
"managedDeviceOwnerType": "company",
"enrolledDateTime": "2020-02-05T09:52:39Z",
"lastSyncDateTime": "2020-10-19T17:07:20Z",
"operatingSystem": "iOS",
...
我们已经使用上述 API 的两个版本进行了测试,但均v1.0
无济于事beta
。有没有人有这个工作?
解决方案
推荐阅读
- ruby-on-rails - 如何编写一个简单的 if 语句来检查当前用户是否已经查看过某些内容?
- google-api - 如何使用 Nodejs 获取视频观看次数 youtube api
- javascript - 跨域跟踪 Iframe 跟踪错误 id
- reactjs - 在 Mac 上的终端中运行 create-react-app 时出现异常错误
- ruby-on-rails - 使用 Devise 和 ActiveAdmin 在 ruby on rails 的 api 项目中出现授权错误
- angular - AngularFire2 - 在字符串中获取下载 URL firebase 存储
- android - Unity Android Build - 更改场景出错
- python - selenium WebDriverException:在无头 Pi 上发生“连接被拒绝”
- asp.net - ASP.NET 中的字符串比较
- css - 如何在论坛部分本身包含链接