Práticas recomendadas para trabalhar com a API do OneNote no Microsoft Graph
Este artigo fornece recomendações para trabalhar com APIs do OneNote no Microsoft Graph. Essas recomendações são baseadas em respostas a perguntas comuns no Microsoft Q&A e no Twitter.
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
Isso recupera todas as propriedades das seçõ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 ~/notebooks
para obter a lista de blocos de anotações.Para cada bloco de anotações recuperado, chame
GET ~/notebooks/{notebookId}/sections
para recuperar a lista de seções.Para cada bloco de anotações recuperado, chame
GET ~/notebooks/{notebookId}/sectionGroups
para recuperar a lista de grupos de seções.Opcionalmente, iterar de forma repetida em grupos de seções.
Embora isso funcione (com algumas viagens de ida e volta sequenciais extra ao serviço), uma abordagem melhor é usar o parâmetro de consulta $expand
.
GET ~/notebooks?$expand=sections,sectionGroups($expand=sections)
Isso gera os mesmos resultados em uma 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
Embora o Microsoft Graph exponha um ponto de extremidade para recuperar todas as páginas, essa não é a melhor maneira de obter todas as páginas às quais o usuário tem acesso. Quando o usuário tem muitas seções, isso pode causar tempos limite ou mau desempenho. É melhor iterar cada seção, obtendo páginas para cada uma separadamente.
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 usar a seguinte chamada várias vezes (especialmente se você não precisar de todas as seções):
GET ~/sections/{id}/pages
Ao obter metadados de página, substitua a ordenação padrão lastModifiedDateTime
. É mais rápido acessar páginas quando não é preciso classificá-las por lastModifiedDateTime
. Para fazer isso, você pode classificar por qualquer outra propriedade; por exemplo:
GET ~/sections/{id}/pages?$select=id,title,createdDateTime&$orderby=createdDateTime
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de