【问题标题】:MS Graph [V1.0]: $orderBy completely ignores the $skip paramMS Graph [V1.0]:$orderBy 完全忽略 $skip 参数
【发布时间】:2018-09-24 04:20:34
【问题描述】:

根据doc,您应该可以同时使用$top、$skip 和$orderBy。

$top & $skip 按预期工作,但是一旦您添加 $orderBy,它就会忽略 $skip 约束。

您可以在graph explorer: 中重现以下示例

https://graph.microsoft.com/v1.0/me/messages?$select=id,subject&$orderBy=lastModifiedDateTime%20asc&$top=1&$skip=0

https://graph.microsoft.com/v1.0/me/messages?$select=id,subject&$orderBy=lastModifiedDateTime%20asc&$top=1&$skip=1

【问题讨论】:

    标签: microsoft-graph-api


    【解决方案1】:

    您的查询字符串错误。您在跳过之前错过了 $。正确的查询字符串如下所示:

    https://graph.microsoft.com/v1.0/me/messages?$select=id,subject,bodyPreview&$orderBy=lastModifiedDateTime asc&$top=1&$skip=6
    

    注意: 使用一些真实数据进行测试(无论是真实的业务数据还是来自O365跟踪账户的数据),API都可以正常工作。不知道为什么默认的模拟数据不起作用,也许 PG 限制了一些模拟数据查询。所以mock测试数据仅供参考,开发者需要自己创建数据源。

    【讨论】:

    • 谢谢 - 这是一个错字,但不能解决问题:)
    • 正确的查询字符串对我来说效果很好。您是使用真正的登录用户还是使用模拟数据?我的测试基于真实数据,所以查询字符串是可以的。你身边肯定有其他一些错误的配置或类似的东西。
    • 嗯,这很奇怪——我用真正的登录用户进行测试。您是说使用不同的 $skip 查询会返回不同的结果吗?当使用不同的 $skip 值进行查询时,它确实返回相同的结果...
    • 是的,$skip 对我来说效果很好。只需使用您的查询字符串并更改 $Skip 的值。我试过 xx@XX.onmicrosoft、XX@hotmail.com 和 xx@enterprisedomine.com,它们都运行良好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    相关资源
    最近更新 更多