Согласно Документация по OneNote API, Я могу получить конкретные страницы в определенном разделе, используя:
../sections/{section-id}/pages[?filter,...]
… и я могу получить определенный раздел в конкретной записной книжке, используя:
../notebooks/{notebook-id}/sections[filter,...]
… но если я попытаюсь объединить их, чтобы получить конкретные страницы в определенном разделе в конкретной записной книжке, используя:
../notebooks/{notebook-id}/sections/{section-id}/pages[?filter,...]
… Я получил:
«Плохо сформированный запрос в oneNoteGet () для: notebooks /< блокнот> / разделы /< section-id> / pages? … «
Конечно, я могу обойти это, сначала получая список всех разделов в определенной записной книжке, затем из этого списка выбирая конкретный раздел и, наконец, запрашивая конкретные страницы в этом разделе.
Но есть ли более прямой путь? Или это просто недостаток в текущем API (в этом случае я должен добавить запрос UserVoice)?
Используйте фильтр OData в наборе сущностей страниц: (убедитесь, что вы его расширили)
GET ~/pages?$filter=parentNotebook/id%20eq%20'YOURNOTEBOOKID'&$expand=parentNotebook
Благодаря Хорхе это также означает изменение фильтра на:
GET ~/pages?$filter=parentNotebook/name%20eq%20'YOURNOTEBOOKNAME'&$expand=parentNotebook
можно получить все страницы в блокноте, основываясь только на имени блокнота (это то, что я искал).