如何使用Microsoft Graph Client for JavaScript在扩展字段中选择字段

时间:2019-10-31 15:30:36

标签: javascript microsoft-graph microsoft-graph-sdks

根据用于JavaScript documentation的Microsoft Graph客户端,客户端支持$expand查询参数,并且工作正常。

由于Microsoft Graph API在使用($expand=attachments($select=name,size))时支持在扩展字段中进行选择,因此如何使用JavaScript SDK / Client来做到这一点?

我已经尝试过类似的方法,但是它为扩展的管理器返回了过多的属性(我想避免这种情况):

client
  .api('/users')
  .expand('manager($select=displayName)')
  .get();

1 个答案:

答案 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) ,但存在一些严重的局限性:

  1. 它仅在Beta版本中受支持。至于为什么它仅限于Beta,则可以肯定地说是由于下一点。

  2. 您不能在同一查询中同时使用$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