2017-08-04 118 views
1
  1. 當某個部分重命名get sections API並不反映更新的名稱,而get page api顯示更新的父節名稱。這似乎是ON API中的錯誤/數據不一致。onenote的MS Graph API行爲不一致

  2. 更改頁面級別的任何內容會更新段的lastModifiedDateTime,但筆記本級別上沒有任何更改。這又似乎是一些數據不一致問題。

有人可以清除這種困惑。

(注意 - 所有上述可使用MS圖形API資源管理器 進行測試)

回答

1

這些是兩個單獨的主題:

  1. 科重命名

這是一個已知的限制/錯誤在OneNote中 - 如果您在OneNote Online中(在瀏覽器中)重命名某個部分,則API GET〜/ notebooks/id /部分或GET〜/部分將爲您提供「舊」名稱。這是因爲OneNote Online實際上並未重命名文件,只會將該文件標記爲「要重命名」 - 如果您要在OneDrive/SharePoint中查看文件本身,它仍會具有舊名稱。

一旦OneNote Native Client發現該部分(例如OneNote for Windows)看到已被標記爲「要重命名」的部分,它實際上會重命名該文件。

OneNote API GET〜/ sections/id/pages實際上查看了段的二進制文件,並能夠判斷該段是否被重命名,這就是爲什麼該名稱可以被視爲「最新」一。

我已將此反饋傳達給我們的團隊,我們正在探索替代方案 - 我鼓勵您在uservoice中開始一個項目,以便我們更好地理解影響。

https://onenote.uservoice.com/forums/245490-onenote-developer-apis

  • 最後修改時間(LMT)上的筆記本/部分澄清:
  • 一個部分的LMT是等於max(的下它頁LMT) 。

    然而,一個部分組的LMT不是最大值(在它下面的部分和部分組的LMT)。節組是一個文件夾,它的LMT應該像傳統文件系統中的文件夾一樣(反映最後一次添加/刪除文件/文件夾下的時間)。

    但是,沒有什麼能夠阻止您使用$ expand並根據筆記本/節組下的實體自己計算LMT(如您所瞭解的那樣)。 https://blogs.msdn.microsoft.com/onenotedev/2014/12/16/beta-get-onenote-entities-in-one-roundtrip-using-expand/