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.
Aplica-se a: Programador
Utilize o Pesquisa da Microsoft no Microsoft Graph quando a sua aplicação precisar de palavra-chave procurar em contentores ou conteúdos do SharePoint Embedded. A API de pesquisa classifica os resultados correspondentes e devolve drive recursos para contentores ou driveItem recursos para ficheiros e pastas.
Observação
A pesquisa do SharePoint Embedded está em pré-visualização e só está disponível no ponto final do Microsoft Graph /beta – não existe nenhuma v1.0 API de pesquisa para contentores. A pesquisa suporta apenas permissões delegadas e segue o padrão de acesso excecional.
Escolher o âmbito de pesquisa
Defina o âmbito de cada pedido para o tipo de contentor ou contentor que pertence à sua aplicação. A pesquisa é executada no contexto do utilizador com sessão iniciada, para que o serviço reduz os resultados para os conteúdos aos quais o utilizador pode aceder. A aplicação também tem de ter acesso ao tipo de contentor correspondente antes de poder abrir os contentores ou ficheiros devolvidos.
Utilize estas propriedades geridas no queryString:
| Escopo | Tipo de entidade | Padrão de consulta |
|---|---|---|
| Todos os contentores de um tipo | drive |
ContainerTypeId:{containerTypeId} |
| Um contentor por título | drive |
Title:'contoso' AND ContainerTypeId:{containerTypeId} |
| Um contentor por descrição | drive |
Description:'Everything' AND ContainerTypeId:{containerTypeId} |
| Files num contentor | driveItem |
Title:'contoso' AND ContainerId:{containerId} |
| Files num tipo de contentor | driveItem |
'contoso' AND ContainerTypeId:{containerTypeId} |
Se a aplicação tiver optado por não participar na deteção de conteúdos do Microsoft 365, defina sharePointOneDriveOptions.includeHiddenContent como true no corpo do pedido.
Procurar contentores
Envie um POST pedido para os recursos de pesquisa e pedido drive do Microsoft Graph.
POST https://graph.microsoft.com/beta/search/query
Content-Type: application/json
{
"requests": [
{
"entityTypes": ["drive"],
"query": {
"queryString": "ContainerTypeId:498c6855-8f0e-0de7-142e-4e9ff86af9ae"
},
"sharePointOneDriveOptions": {
"includeHiddenContent": true
},
"from": 0,
"size": 25
}
]
}
A resposta inclui hitsContainers. Cada hit contém um hitId, rank, summarye um resource cujo @odata.type é #microsoft.graph.drive.
Procurar ficheiros e pastas
Pedir driveItem recursos quando o utilizador pesquisar nomes de ficheiro ou conteúdo de ficheiro. Âmbito para um contentor específico com ContainerId quando o utilizador já está dentro de uma área de trabalho.
{
"requests": [
{
"entityTypes": ["driveItem"],
"query": {
"queryString": "Title:'contoso' AND ContainerId:b!UBoDBcfpTEeInnz0Rlmlsp6EC-DsPN5Kj3uW0fD1mPp9ptYmB71GRpxbhbDlGdb0"
},
"sharePointOneDriveOptions": {
"includeHiddenContent": true
},
"from": 0,
"size": 25
}
]
}
Um driveItem resultado pode incluir metadados de ficheiro, tais como id, name, size, createdDateTime, lastModifiedDateTime, parentReference, createdBy, lastModifiedBye webUrl.
Devolver campos selecionados e ordenar resultados
Utilize a fields coleção para pedir propriedades geridas específicas na resposta. Utilize sortProperties apenas com propriedades ordenáveis.
{
"requests": [
{
"entityTypes": ["driveItem"],
"query": { "queryString": "Everything about contoso" },
"sharePointOneDriveOptions": { "includeHiddenContent": true },
"fields": ["SampleOWSText", "id", "name", "parentReference", "webUrl", "createdDateTime", "lastModifiedDateTime", "size"],
"sortProperties": [
{ "name": "Created", "isDescending": false }
]
}
]
}
Utilize from e size para analisar os resultados classificados. Leia hitsContainers[].total e hitsContainers[].moreResultsAvailable decida se pretende pedir outra página.
Procurar propriedades personalizadas
Para propriedades personalizadas do contentor, acrescente OWSTEXT ao nome da propriedade personalizada na cadeia de consulta.
customPropertyNametOWSTEXT:customPropertyValue AND ContainerTypeId:498c6855-8f0e-0de7-142e-4e9ff86af9ae
Utilize a pesquisa em texto completo (o ponto final acima) quando os /beta/search/query utilizadores escreverem termos de texto livre e quiser classificação por relevância entre contentores. Utilize a enumeração direta em vez de procurar quando a aplicação tem de filtrar valores de metadados conhecidos sem classificação por relevância. Por exemplo, consulte itens de unidade com $filter, $expande $orderby:
GET https://graph.microsoft.com/v1.0/drives/{container-id}/items?$filter=startswith(listitem/fields/{column}, '{value}')&$expand=listitem($expand=fields)
Quando um contentor tiver mais de 5000 itens e enumerar com $orderby, inclua o Prefer: HonorNonIndexedQueriesWarningMayFailRandomly cabeçalho necessário para enumerações ordenadas grandes.
Limitações conhecidas
A pesquisa impõe o acesso do utilizador com sessão iniciada e não a autorização da sua aplicação. Os resultados incluem todos os contentores e itens aos quais o utilizador pode aceder que correspondem à consulta — mesmo os contentores cujo tipo de contentor a sua aplicação não está autorizado a utilizar. Inclua ContainerTypeId sempre nos resultados de queryString âmbito para a sua aplicação.
Para abrir um contentor ou ficheiro devolvido pela pesquisa, a aplicação tem de ter permissões de acesso ao tipo de contentor correspondente.