Rechercher des ressources DriveItem dans un lecteur

Recherchez la hiérarchie des éléments pour des éléments correspondant à une requête. Vous pouvez effectuer une recherche dans une hiérarchie de dossiers, un lecteur entier ou des fichiers partagés avec l’utilisateur actuel.

Autorisations

L’une des autorisations suivantes est requise pour appeler cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All
Déléguée (compte Microsoft personnel) Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All
Application Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All

Requête 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}')

Paramètres facultatifs de la requête

Cette méthode prend en charge les $expandparamètres de requête , $select$skipToken, $top, et $orderbyOData pour personnaliser la réponse.

Paramètres de fonction

Nom Valeur Description
q string 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.

Exemple

Demande

Voici un exemple de demande recherchant OneDrive de l’utilisateur actuel

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

Réponse

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.

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.

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

Recherche d’éléments auxquels peut accéder un utilisateur

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.

Exemple

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

Réponse

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.

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

Remarques

Remarque : lors d’une recherche sous une hiérarchie de dossiers dans OneDrive Entreprise et SharePoint, il se peut que les types de fichiers image ne soient pas renvoyés dans les résultats.

Réponses d’erreur

Pour plus d’informations sur la façon dont les erreurs sont renvoyées, voir Réponses d’erreur.