2016-02-12 66 views
1
  1. 如何統計MicrosoftGraph的EntitySet中的項目數,例如'users'或'groups'?我想:?從Microsoft Graph統一OData端點獲取一些數據

另外在靶的註釋「microsoft.graph.d irectoryObject」,這是基於我的EntitySets看到,它是可選=假,可數=假...

  • 將$跳過是對‘用戶’或其他頂級永遠可用EntitySet項目(https://graph.microsoft.com/v1.0/groups?$ skip = 5)?它可用於其他項目(https://graph.microsoft.com/v1.0/me/contacts?$ skip = 5)。我知道$ skipToken,但它不一樣。

  • 如果屬性可排序,我可以在$ metadata中找到某處嗎?例如,user.displayName是可排序的,但user.mail或user.givenName不可以。這在$元數據中很方便。是否有計劃將此引入到$元數據中?

  • 排序依據DESC這個公式https://graph.microsoft.com/v1.0/users?$ ORDERBY =顯示名%20desc中被忽略,這表明下令ASC項目,我是不是做錯了什麼?

  • 回答

    0

    我知道的幫助不大,但是如果你做了一個API調用以獲得一個集合,你可以使用你在第一個問題中給出的第二個表單來計數。例如:

    https://graph.microsoft.com/v1.0/users/<id>/events/ $算

    返回計數(6在我的情況,而不是在JSON - 返回的數據實際上是由 「\ x {EF} \ X {BB} \ X {BF} 6」 (以Perl格式))。如果我們使用?作爲最後一個分隔符(這是http://graph.microsoft.io/en-us/docs/overview/query_parameters似乎什麼來表示我們應該)這個網址:

    https://graph.microsoft.com/v1.0/users/<id>/events $算

    我只是得到事件列表中沒有計數爲你做。

    所以這似乎表明了兩件事對我說:

    一)計數不出現的查詢參數的工作$,儘管文檔和OData的標準說應該,​​

    b)API中似乎存在一個處理EntitySets的錯誤,這個錯誤對於Collections而言並不存在。

    對不起,我不能更多的幫助,但它至少另一個數據點(我剛剛遭遇了挫折與這就是爲什麼我注意到了這個StackOverflow的崗位同樣的事情!)

    +1

    我不認爲這是一個'錯誤',因爲正如我上面寫的那樣,它指定你不能在這些EntitySets上使用$ count。在目標的註釋「microsoft.graph.directoryObject」中指定Countable = false。 雖然,我想知道你是否可以用其他方式來計算它們。 我大概只能選擇所有的項目(重複,使用skipToken)並對它們進行計數。另外 - 因爲EntitySets不是可選擇的 - 我不能只選擇Id來儘量減少數據量。 – MiroJanosik

    +0

    但有趣的是,如果我使用的(有意拆分)API網址: https://graph.microsoft.com/v1.0/users/ /$算 我得到的錯誤信息: 「的請求URI無效。$ count不能應用到segment \'users \',因爲$ count只能跟隨實體集合,集合導航屬性,集合類型的結構屬性,返回集合類型的操作或操作導入返回集合類型「。 所以它看起來像_supposed_與EntitySets一起工作! –

    +1

    我創建了https://github.com/OfficeDev/microsoft-graph-docs/issues/126來更正http://graph.microsoft.io/en-us/docs/overview/query_parameters。同時支持$ count作爲查詢參數和段,但不支持所有實體類型。注意 - 我們已經支持directoryObject的$ select,並將從元數據中刪除Selectable = false註釋。 –

    0

    廣告1。https://graph.microsoft.com/v1.0/users/ $ count是正確的OData語法(http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part2-url-conventions/odata-v4.0-errata02-os-part2-url-conventions-complete.html#_Toc406398087),但正如元數據目錄中指示的,對象集合當前不可計數。 ODataV4還允許查詢參數中的$ count(http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part2-url-conventions/odata-v4.0-errata02-os-part2-url-conventions-complete.html#_Toc406398166),但是應該使用true或false值指定(例如https://graph.microsoft.com/v1.0/me/events?$ count = true),並且響應將包含@ odata.count屬性中的集合及其計數。對於directoryObject集合,這再次不受支持。

    廣告2.目前沒有計劃支持directoryObject集合的$ skip。

    廣告是的,我們計劃以表明其性能在使用的元數據中的OData能力詞彙定義的SortRestrictions註釋可排序(http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/vocabularies/Org.OData.Capabilities.V1.xml

    廣告4.您的要求是正確的,但我們只支持排序用戶通過displayName按升序排列。