Pesquisar um DriveItem em uma unidade
Pesquise a hierarquia de itens para itens que correspondam a uma consulta. Você pode pesquisar em uma hierarquia de pastas, uma unidade inteira ou arquivos compartilhados com o usuário atual.
Permissões
Uma das seguintes permissões é necessária para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.
Tipo de permissão | Permissões (da com menos para a com mais privilégios) |
---|---|
Delegado (conta corporativa ou de estudante) | Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All |
Delegado (conta pessoal da Microsoft) | Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All |
Aplicativo | Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All |
Solicitação HTTP
GET /drives/{drive-id}/root/search(q='{search-text}')
GET /groups/{group-id}/drive/root/search(q='{search-text}')
GET /me/drive/root/search(q='{search-text}')
GET /sites/{site-id}/drive/root/search(q='{search-text}')
GET /users/{user-id}/drive/root/search(q='{search-text}')
Parâmetros de consulta opcionais
Este método suporta os $expand
parâmetros de consulta , $select
, $skipToken
, $top
e $orderby
OData para personalizar a resposta.
Parâmetros de função
Nome | Valor | Descrição |
---|---|---|
q |
string | O texto de consulta usado para pesquisar itens. Os valores podem ser correspondidos em vários campos, incluindo nome do arquivo, metadados e conteúdo do arquivo. |
Exemplo
Solicitação
Aqui está um exemplo da solicitação de que pesquisa o OneDrive do usuário atual
GET /me/drive/root/search(q='{search-query}')
Resposta
Este método retorna um objeto que contém uma coleção de DriveItems que correspondem aos critérios de pesquisa. Se não forem encontrados itens, uma coleção vazia será retornada.
Se houver muitas correspondências, a resposta será paginada, e uma propriedade @odata.nextLink conterá uma URL para a próxima página de resultados.
Você pode usar o parâmetro de consulta $top
para especificar o número de itens na página.
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"id": "0123456789abc!123",
"name": "Contoso Project",
"folder": {},
"searchResult": { "onClickTelemetryUrl": "https://bing.com/0123456789abc!123" }
},
{
"id": "0123456789abc!456",
"name": "Contoso Project 2016",
"folder": {},
"searchResult": { "onClickTelemetryUrl": "https://bing.com/0123456789abc!456" }
}
],
"@odata.nextLink": "https://graph.microsoft.com/v1.0/me/drive/root/search(query='contoso project')&skipToken=1asdlnjnkj1nalkm!asd"
}
Pesquisando itens que um usuário pode acessar
Além de procurar itens em uma unidade, seu aplicativo pode pesquisar amplamente para incluir itens compartilhados com o usuário atual. Para ampliar o escopo da pesquisa, use o método search no recurso Drive.
Exemplo
GET /me/drive/search(q='{search-query}')
Resposta
As respostas ao pesquisar por meio do recurso drive podem incluir itens fora da unidade (itens compartilhados com o usuário atual). Estes itens incluirão a faceta remoteItem para indicar que estão armazenados fora da unidade de destino.
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"id": "0123456789abc!123",
"name": "Contoso Project",
"folder": {},
"searchResult": { "onClickTelemetryUrl": "https://bing.com/0123456789abc!123" },
"remoteItem": { "id": "!23141901", "parentReference": { "driveId": "s!1020101jlkjl12lx" } }
},
{
"id": "0123456789abc!456",
"name": "Contoso Project 2016",
"folder": {},
"searchResult": { "onClickTelemetryUrl": "https://bing.com/0123456789abc!456" }
}
],
"@odata.nextLink": "https://graph.microsoft.com/v1.0/me/drive/root/search(query='contoso project')&skipToken=1asdlnjnkj1nalkm!asd"
}
Comentários
Observação: No OneDrive for Business e no SharePoint, ao pesquisar em uma hierarquia de pastas, os tipos de arquivo de imagem podem não ser retornados nos resultados.
Respostas de erros
Confira Respostas de Erros para saber mais sobre como os erros retornam.