Конечная точка API OneNote / страниц не работает должным образом
Резюме
В моем стремлении получить актуальную информацию о моих последних измененных страницах OneNote через REST API, я провел небольшой эксперимент, в котором я создал новый идентификатор Outlook; создавал записные книжки, разделы и страницы OneNote с помощью Windows и Mac; и использовал Graph Explorer для выполнения запросов API OneNote. Я обнаружил, что запросы информации о странице с использованиемGET .../pages
не работает и, скорее всего, является результатом того, что информация API не обновляется в реальном времени. Более подробная информация представлена ниже; Я был бы очень признателен за дополнительную информацию или альтернативные методы для получения информации о странице из определенного раздела с помощью OneNote REST API через Microsoft Graph.
Детали
Сегодня рано утром я создал новую учетную запись @outlook.com с помощью Google Chrome на моем Macbook Pro. Затем с помощью OneNote для Mac я создал новую записную книжку, раздел и страницу. Все аспекты этого синхронизируются в реальном времени с OneNote Online. Тем не менее GET https://graph.microsoft.com/v1.0/me/onenote/pages
вызов в Microsoft Graph Explorer не отображал никакой информации о странице, несмотря на статус 200. Впоследствии я вошел в эту новую учетную запись Outlook на соседнем компьютере с Windows и сразу же смог синхронизировать весь контент в OneNote для Windows. Я создал новую записную книжку, раздел и страницу на машине с Windows, а затем использовал Graph Explorer на этой машине; тот же вызов не отображал никакой информации о странице, несмотря на статус 200. Так же наблюдалось при вызове страниц из определенного раздела. Синтонизация между обоими компьютерами произошла практически мгновенно.
Я приступил к использованию GET https://graph.microsoft.com/v1.0/me/onenote/sections
а также GET https://graph.microsoft.com/v1.0/me/onenote/notebooks
. Эти звонки предоставили актуальную информацию о записных книжках и разделах соответственно. Кроме того, я использовалPOST https://graph.microsoft.com/v1.0/me/onenote/sections/{section-id}/pages
через Graph Explorer на машине Windows, чтобы опубликовать образец страницы (см. код в разделе "Создание тела сообщения") в один из моих разделов. Эта страница отображается сразу на обоих компьютерах. С помощьюGET .../pages
на машине Windows вернул информацию только для этой опубликованной страницы. Тот же вызов на Mac через Graph Explorer не отображал никакой информации, несмотря на статус 200.
Ранее я задавал вопрос о том, почему, похоже, существует трехдневное отставание в информации о странице из OneNote API. В соответствии с этим поведением, похоже, что информация о странице обновляется намного медленнее (порядка нескольких дней), чем информация записной книжки или раздела (на один порядок секунд). Кроме того, такое же отставание наблюдается при вызове API через мою собственную программу.
Ключевые моменты
Пока информация о разделе и блокноте обновляется в реальном времени, информация о странице через
GET .../pages
вызов не работает должным образом.Эта проблема не связана с операционной системой, отдельной учетной записью или приложением, выполняющим вызов, потому что использовались как Windows, так и Mac, результаты были сопоставимы между существующей учетной записью и новой, созданной для этого эксперимента, и результаты сопоставимы, когда используя Graph Explorer или выполняя вызовы API через R.
Эта проблема, по-видимому, связана с функциями или процессами, которые извлекают информацию о странице или создают информацию о странице для API, поскольку синхронизация между официальными программами OneNote, похоже, не нарушена.