通过使用正确的$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个事件,其中一些事件具有此属性的填充(YEAY !!)。
但是如何结合使用$select
参数呢?
因为上面的查询将返回那些事件的所有属性,而我只对所有事件的id
,subject
和singleValueProperties
属性感兴趣。根据{{3}},我应该只能使用$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)
答案 0 :(得分:1)
这似乎是Microsoft Graph的Known Issue。在Query Parameters下:
$expand
:
- 不支持
nextLink
- 不支持超过1级的扩展
- 不支持其他参数(
$filter
,$select
)
这里的措词有点奇怪,因为$expand
和$select
当然可以在其他地方一起工作。也就是说,我已经能够重现相同的行为,并且在显然这样的情况下,$expand
和$select
却没有。
这也记录在Use query parmeters中:
注意:并非所有的关系和资源都支持
$expand
查询参数。例如,您可以在directReports
上展开manager
,memberOf
和user
关系,但是不能展开其events
,messages
或photo
关系。 并非所有资源或关系都支持在展开的项目上使用$select
。