根据用于JavaScript documentation的Microsoft Graph客户端,客户端支持$expand
查询参数,并且工作正常。
由于Microsoft Graph API在使用($expand=attachments($select=name,size)
)时支持在扩展字段中进行选择,因此如何使用JavaScript SDK / Client来做到这一点?
我已经尝试过类似的方法,但是它为扩展的管理器返回了过多的属性(我想避免这种情况):
client
.api('/users')
.expand('manager($select=displayName)')
.get();
答案 0 :(得分:1)
您的语法正确,但是API本身不支持此语法。尽管AAD资源支持err_graph <- xts(unlist(data$err), order.by = data$date)
dygraph(err_graph, main = "euler errors", ylab = "Maximum Absolute Distance", xlab = "Date") %>%
dyLegend(show = "follow", data$id)
,但存在一些严重的局限性:
它仅在Beta版本中受支持。至于为什么它仅限于Beta,则可以肯定地说是由于下一点。
您不能在同一查询中同时使用$expand
和$expand
。换句话说,$select
不仅会失败,/me?$expand=manager($select=displayName)
或/me?$select=id,displayName&$expand=manager($select=displayName)
也会失败。
鉴于最终返回的数据值并被限制为Beta版本,在涉及DirectoryObject的情况下,/me?$select=id,displayName&$expand=manager
被有效地降级为少数几种极端情况。
我的建议是避免扩展Manager,而赞成将页面大小设置为20,并为每页数据构造一个batch request以拉取Manager。这使您可以极大地减少网络上的数据量,将出站呼叫数保持为每页仅两个,并且完全可以在v1.0版本中完成。
有关如何构造批处理请求的更多信息,请参见SDK文档中的Batching。