我的代碼調用OneNote API以檢索O365 SharePoint網站中的筆記本列表。我們得到的承載標記,設置HTTP認證頭,併發出GET請求:OneNote API在查詢/筆記/筆記本時返回HTTP 500
https://www.onenote.com/api/v1.0/myOrganization/siteCollections/1165b017-ce4b-4b01-9e0c-d1ed91827b33/sites/99d8f75e-c7eb-4de1-a304-86f567c1ce99/notes/notebooks
這通常工作,但昨天間歇返回HTTP 500響應,今天返回每次500響應:(
我們捕獲響應的所有HTTP頭,包括X-的correlationID - 這裏有一個從今天:
解析一個URLX-CorrelationId: dbcff391-6767-451c-a011-05fb8d2a0e32
的FromUrl API調用 - >的SharePoint SITEID,我們現在做一次緩存很長一段時間,因爲該映射幾乎是s tatic。然而,站點中的筆記本可能會隨着用戶創建/刪除/重命名而經常更改,因此我們需要每次都獲取最新的數據。 OneNote API從根本上不穩定?
編輯
我們注意到,這可能是該用戶的OneDrive爲企業的可用性。我相信這些OneDrives是SharePoint文檔庫,在用戶首次訪問時按需創建。對於以前從未訪問過OneDrive的用戶,我們似乎獲得了500條回覆,但對於擁有此類用戶的用戶來說,這是成功的。從表面上看,這似乎很清楚:用戶必須在OneNote API調用之前訪問過他們的OneDrive,否則它將返回500.
但是,這在租約之間似乎不一致:我們有一個O365租約,不是這種情況,即使用戶沒有OneDrive,API也會成功返回。所以我的問題是:1)用戶的OneDrive的可用性是否有所不同?2)爲什麼租戶之間會有所不同?
編輯#2 這已被證實由微軟開發的支持上報工程師 - 該API需要用戶已經擁有了OneDrive。這是一個錯誤,因爲API調用應將OneNotes列在外部SharePoint文檔庫中,因此不應關心用戶是否爲其調配了OneDrive。我知道他們正在積壓修復...
SiteId和SiteCollectionId都很好 - 調用之間沒有任何變化。 –