Microsoft Graph -> 在扩展 $expand 时使用 OData $select 中的 singleValueExtendedProperty

Microsoft Graph -> Use the singleValueExtendedProperty in OData $select when expanded $expand

我可以使用正确的 $expand 参数从用户日历中获取带有 Single Value Extended Property 的事件。

https://graph.microsoft.com/v1.0/me/calendar/calendarview?startDateTime=2018-10-09&endDateTime=2019-01-09&$expand=singleValueExtendedProperties($filter=id eq 'String {cfe1492e-2c52-462d-8f0d-c1139326d46f} Name PropertyName')

这会输出前 10 个事件,其中一些已 属性 填充(是的!!)。

但是如何结合使用 $select 参数呢?

因为上面的查询会 return 这些事件的所有属性,而我只对所有事件的 idsubjectsingleValueProperties 属性感兴趣。根据 this page 我应该只能 select 我的应用程序想要的属性与 $select 参数但我不知道如何将它与 singleValueProperty (或任何其他扩展属性)。

我已经尝试了以下列表(结合 $expand 以实际包含 属性):

$select=id,subject,singleValueProperties (single value properties not included)
$select=id,subject,singleValueProperties.value (not included)
$select=id,subject,singleValueProperties/value (bad request)
$select=id,subject,singleValueProperties.* (not included)
$select=id,subject (not included)

这看起来是 Known Issue with Microsoft Graph. Under Query Parameters:

  • $expand:
    • No support for nextLink
    • No support for more than 1 level of expand
    • No support with extra parameters ($filter, $select)

这里的措辞有点奇怪,因为 $expand$select 在其他地方肯定是一起工作的。也就是说,我已经能够重现相同的行为,并且有 清楚地 像这样的情况,而 $expand$select 没有。

这也记录在 Use query parmeters:

Note: Not all relationships and resources support the $expand query parameter. For example, you can expand the directReports, manager, and memberOf relationships on a user, but you cannot expand its events, messages, or photo relationships. Not all resources or relationships support using $select on expanded items.