Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: Desarrollador
Use Búsqueda de Microsoft en Microsoft Graph cuando la aplicación necesite búsqueda de palabras clave en contenedores o contenido de SharePoint Embedded. La API de búsqueda clasifica los resultados coincidentes y devuelve drive recursos para contenedores o driveItem recursos para archivos y carpetas.
Nota:
La búsqueda de SharePoint Embedded está en versión preliminar y solo está disponible en el punto de conexión de Microsoft Graph /beta : no hay ninguna v1.0 API de búsqueda para contenedores. La búsqueda solo admite permisos delegados y sigue el patrón de acceso excepcional.
Elegir el ámbito de búsqueda
Ámbito de cada solicitud al tipo de contenedor o contenedor que pertenece a la aplicación. La búsqueda se ejecuta en el contexto del usuario que ha iniciado sesión, por lo que el servicio recorta los resultados al contenido al que el usuario puede acceder. La aplicación también debe tener acceso al tipo de contenedor correspondiente para poder abrir contenedores o archivos devueltos.
Use estas propiedades administradas en :queryString
| Ámbito | Tipo de entidad | Patrón de consulta |
|---|---|---|
| Todos los contenedores de un tipo | drive |
ContainerTypeId:{containerTypeId} |
| Un contenedor por título | drive |
Title:'contoso' AND ContainerTypeId:{containerTypeId} |
| Un contenedor por descripción | drive |
Description:'Everything' AND ContainerTypeId:{containerTypeId} |
| Files en un contenedor | driveItem |
Title:'contoso' AND ContainerId:{containerId} |
| Files en un tipo de contenedor | driveItem |
'contoso' AND ContainerTypeId:{containerTypeId} |
Si la aplicación ha optado por no detectar contenido de Microsoft 365, establezca sharePointOneDriveOptions.includeHiddenContenttrue en en el cuerpo de la solicitud.
Buscar contenedores
Envíe una POST solicitud a los recursos de búsqueda y solicitud drive de 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
}
]
}
La respuesta incluye hitsContainers. Cada acierto contiene un hitId, rank, summaryy un resource cuyo @odata.type es #microsoft.graph.drive.
Buscar archivos y carpetas
Solicite driveItem recursos cuando el usuario busque nombres de archivo o contenido de archivo. Ámbito a un contenedor específico con ContainerId cuando el usuario ya está dentro de un área de trabajo.
{
"requests": [
{
"entityTypes": ["driveItem"],
"query": {
"queryString": "Title:'contoso' AND ContainerId:b!UBoDBcfpTEeInnz0Rlmlsp6EC-DsPN5Kj3uW0fD1mPp9ptYmB71GRpxbhbDlGdb0"
},
"sharePointOneDriveOptions": {
"includeHiddenContent": true
},
"from": 0,
"size": 25
}
]
}
Un driveItem resultado puede incluir metadatos de archivo como id, , name, size, createdDateTimelastModifiedDateTime, parentReference, createdBy, lastModifiedByy webUrl.
Devolver los campos seleccionados y ordenar los resultados
Use la fields colección para solicitar propiedades administradas específicas en la respuesta. Use sortProperties solo con propiedades ordenables.
{
"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 }
]
}
]
}
Use from y size para paginar los resultados clasificados. Lea hitsContainers[].total y hitsContainers[].moreResultsAvailable decida si desea solicitar otra página.
Buscar propiedades personalizadas
Para las propiedades personalizadas del contenedor, anexe OWSTEXT al nombre de la propiedad personalizada en la cadena de consulta.
customPropertyNametOWSTEXT:customPropertyValue AND ContainerTypeId:498c6855-8f0e-0de7-142e-4e9ff86af9ae
Use la búsqueda de texto completo (el /beta/search/query punto de conexión anterior) cuando los usuarios escriban términos de texto libre y desee una clasificación de relevancia entre contenedores. Use la enumeración directa en lugar de la búsqueda cuando la aplicación debe filtrar por valores de metadatos conocidos sin clasificación de relevancia. Por ejemplo, consulte los elementos de unidad con $filter, $expandy $orderby:
GET https://graph.microsoft.com/v1.0/drives/{container-id}/items?$filter=startswith(listitem/fields/{column}, '{value}')&$expand=listitem($expand=fields)
Cuando un contenedor tiene más de 5000 elementos y se enumera con $orderby, incluya el Prefer: HonorNonIndexedQueriesWarningMayFailRandomly encabezado necesario para las enumeraciones ordenadas grandes.
Limitaciones conocidas
La búsqueda exige el acceso del usuario que ha iniciado sesión, no la autorización de la aplicación. Los resultados incluyen todos los contenedores y elementos a los que el usuario puede acceder que coincide con la consulta, incluso los contenedores cuyo tipo de contenedor no está autorizado a usar la aplicación.
ContainerTypeId Incluya siempre en el queryString ámbito de para los resultados de la aplicación.
Para abrir un contenedor o archivo devuelto por la búsqueda, la aplicación debe tener permisos de acceso al tipo de contenedor correspondiente.