Rechercher des ressources DriveItem dans un lecteurSearch for a DriveItems within a drive

Recherchez la hiérarchie des éléments pour des éléments correspondant à une requête.Search the hierarchy of items for items matching a query. Vous pouvez effectuer une recherche dans une hiérarchie de dossiers, un lecteur entier ou des fichiers partagés avec l’utilisateur actuel.You can search within a folder hierarchy, a whole drive, or files shared with the current user.

AutorisationsPermissions

L’une des autorisations suivantes est nécessaire pour appeler cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Type d’autorisationPermission type Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)Permissions (from least to most privileged)
Déléguée (compte professionnel ou scolaire)Delegated (work or school account) Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.AllFiles.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All
Déléguée (compte Microsoft personnel)Delegated (personal Microsoft account) Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.AllFiles.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All
ApplicationApplication Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.AllFiles.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All

Requête HTTPHTTP request

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}')

Paramètres facultatifs de la requêteOptional query parameters

Cette méthode prend en charge les paramètres de requête OData $expand, $select, $skipToken, $top et $orderby pour personnaliser la réponse.This method supports the $expand, $select, $skipToken, $top, and $orderby OData query parameters to customize the response.

Paramètres de fonctionFunction parameters

ParamètreParameter TypeType DescriptionDescription
qq stringstring Texte de requête utilisé pour rechercher des éléments. Les valeurs peuvent être mises en correspondance sur plusieurs champs, y compris le nom de fichier, les métadonnées et le contenu du fichier.The query text used to search for items. Values may be matched across several fields including filename, metadata, and file content.

ExempleExample

DemandeRequest

Voici un exemple de demande recherchant OneDrive de l’utilisateur actuelHere is an example of the request searching the current user's OneDrive

GET /me/drive/root/search(q='{search-query}')

RéponseResponse

Cette méthode renvoie un objet qui contient une collection d’objets DriveItem qui correspondent aux critères de recherche. Si aucun élément n’est trouvé, une collection vide est renvoyée.This method returns an object containing an collection of DriveItems that match the search criteria. If no items were found, an empty collection is returned.

S’il y a trop de correspondances, la réponse sera être paginée et une propriété **@odata.nextLink** contiendra une URL vers la page de résultats suivante. Vous pouvez utiliser le paramètre de requête $top pour spécifier le nombre d’éléments dans la page.If there are too many matches the response will be paged and an **@odata.nextLink** property will contain a URL to the next page of results. You can use the $top query parameter to specify the number of items in the page.

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"
}

Exemple de code SDKSDK sample code


GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var search = await graphClient.Me.Drive.Root.Search('{search-query}')
    .Request()
    .GetAsync();

Pour plus d’informations sur la façon d' Ajouter le kit de développement logiciel (SDK) à votre projet et de créer une instance authProvider , consultez la documentation SDK .Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.

Recherche d’éléments auxquels peut accéder un utilisateurSearching for items a user can access

Outre la recherche d’éléments dans un lecteur, votre application peut effectuer une recherche plus large pour inclure des éléments partagés avec l’utilisateur actuel. Pour élargir l’étendue de recherche, utilisez la méthode de recherche sur la ressource Drive.In addition to searching for items within a drive, your app can search more broadly to include items shared with the current user. To broaden the search scope, use the search method on the Drive resource.

ExempleExample

GET /me/drive/search(q='{search-query}')

RéponseResponse

Les réponses lors de la recherche à partir de la ressource drive peuvent inclure des éléments à l’extérieur du lecteur (éléments partagés avec l’utilisateur actuel). Ces éléments incluront la facette remoteItem pour indiquer qu’ils sont stockés en dehors du lecteur cible.Responses when searching from the drive resource may include items outside of the drive (items shared with the current user). These items will include the remoteItem facet to indicate they are stored outside of the target drive.

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"
}

Exemple de code SDKSDK sample code


GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var search = await graphClient.Me.Drive.Search('{search-query}')
    .Request()
    .GetAsync();

Pour plus d’informations sur la façon d' Ajouter le kit de développement logiciel (SDK) à votre projet et de créer une instance authProvider , consultez la documentation SDK .Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.

Réponses d’erreurError responses

Pour plus d’informations sur la façon dont les erreurs sont renvoyées, voir Réponses d’erreur.See Error Responses for more information about how errors are returned.