Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece recomendações para trabalhar com APIs do OneNote no Microsoft Graph. Estas recomendações baseiam-se em respostas a perguntas comuns sobre o Microsoft Q&A.
Use $select para selecionar o conjunto mínimo de propriedades de que você precisa
Quando você consulta um recurso (por exemplo, seções em um bloco de anotações), faz uma solicitação semelhante à seguinte.
GET ~/notebooks/{id}/sections
Este pedido obtém todas as propriedades das secções. No entanto, você pode não precisar de todas as propriedades. Você pode usar o parâmetro de consulta $select para retornar apenas as propriedades desejadas, conforme mostrado no exemplo a seguir.
GET ~/notebooks/{id}/sections?$select=id,displayName
A mesma abordagem se aplica a outras APIs do OneNote.
Use $expand em vez de várias chamadas à API
Suponha que você queira recuperar todos os blocos de anotações, seções e grupos de seções do usuário em uma exibição hierárquica. Você pode fazer isso seguindo este procedimento:
Chamar
GET ~/notebookspara obter a lista de blocos de anotações.Para cada bloco de anotações recuperado, chame
GET ~/notebooks/{notebookId}/sectionspara recuperar a lista de seções.Para cada bloco de anotações recuperado, chame
GET ~/notebooks/{notebookId}/sectionGroupspara recuperar a lista de grupos de seções.Opcionalmente, iterar de forma repetida em grupos de seções.
Esta abordagem funcionará (com algumas viagens de ida e volta sequenciais adicionais ao serviço); no entanto, uma abordagem melhor é utilizar o $expand parâmetro de consulta.
GET ~/notebooks?$expand=sections,sectionGroups($expand=sections)
Esta abordagem produz os mesmos resultados numa ida e volta de rede, com melhor desempenho.
Ao obter todas as páginas de um usuário, faça isso para cada seção separadamente
O Microsoft Graph expõe um ponto final para obter todas as páginas; no entanto, não recomendamos a utilização deste ponto final para obter todas as páginas às quais o utilizador tem acesso. Quando o utilizador tem demasiadas secções e é feita uma tentativa de obter todas as páginas, a chamada resulta num código 400 http status e na seguinte mensagem: "O número máximo de secções é excedido para este pedido. Para obter páginas para contas com um número elevado de secções, recomendamos que obtenha páginas para uma secção de cada vez." Para obter mais informações sobre este código de erro, consulte Códigos de erro do OneNote.
Para obter todas as páginas a que um utilizador tem acesso, a melhor prática é fazer chamadas separadas para obter as páginas de cada secção.
Por exemplo, em vez de usar essa chamada (essa API é paginada; portanto, você não poderá buscar todas as páginas de uma só vez):
GET ~/pages
É melhor utilizar a seguinte chamada várias vezes (especialmente se não precisar de todas as secções):
GET ~/sections/{id}/pages
Ao obter metadados de página, substitua a ordenação padrão lastModifiedDateTime. É mais rápido obter páginas quando não tem de as ordenar por lastModifiedDateTime. Para fazer isso, você pode classificar por qualquer outra propriedade; por exemplo:
GET ~/sections/{id}/pages?$select=id,title,createdDateTime&$orderby=createdDateTime