DriveItem in einem Laufwerk suchen

Durchsuchen Sie die Hierarchie der Elemente nach Elementen, die mit einer Abfrage übereinstimmen. Sie können eine Ordnerhierarchie, ein gesamtes Laufwerk oder die für den aktuellen Benutzer freigegebenen Dateien durchsuchen.

Voraussetzungen

Einer der folgenden Bereiche ist erforderlich, um diese API auszuführen:

  • Files.Read
  • Files.ReadWrite

HTTP-Anforderung

GET /me/drive/root/search(q='{search-text}')
GET /me/drive/items/{item-id}/search(q='{search-text}')
GET /me/drive/root:/{item-path}:/search(q='{search-text}')
GET /drives/{drive-id}/root/search(q='{search-text}')
GET /groups/{group-id}/drive/root/search(q='{search-text}')

Optionale Abfrageparameter

Diese Methode unterstützt die OData-Abfrageparameter zur Anpassung der Antwort.

Anforderungstext

Geben Sie für diese Methode keinen Anforderungstext an.

Funktionsparameter

Name Wert Beschreibung
q string Der zum Durchsuchen der Elemente verwendete Abfragetext. Werte werden möglicherweise mit mehreren Feldern wie Dateiname, Metadaten und Dateiinhalt abgeglichen.

Beispiel

Anforderung

Es folgt ein Beispiel für die Anforderung zum Durchsuchen von OneDrive des aktuellen Benutzers

GET https://graph.microsoft.com/v1.0/me/drive/root/search(q='{search-query}')
Antwort

Diese Methode gibt ein Objekt mit einer Sammlung von DriveItems-Elementen zurück, die den Suchkriterien entsprechen. Wenn keine Elemente gefunden werden, wird eine leere Sammlung zurückgegeben.

Wenn diese Methode zu viele Ergebnisse zurückgibt, ist die Antwort seitennummeriert und enthält eine @odata.nextLink-Eigenschaft mit einer URL zur nächsten Ergebnisseite. Sie können den $top-Abfrageparameter zum Angeben der Anzahl der Elemente auf einer Seite verwenden.

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

Suchen nach Elementen, auf die Benutzer zugreifen können

Neben Elementen in einem Laufwerk kann Ihre App die Suche auf Elemente erweitern, die für den aktuellen Benutzer freigegeben wurden. Verwenden Sie zum Erweitern des Suchbereichs die search-Methode für die Laufwerkressource.

Anforderung
GET https://graph.microsoft.com/v1.0/me/drive/search(q='{search-query}')
Antwort

Die Antworten können beim Durchsuchen der Laufwerkressource Elemente enthalten, die sich außerhalb des Laufwerks befinden (Elemente, die für den aktuellen Benutzer freigegeben sind). Diese Elemente enthalten das remoteItem-Facet, das angibt, dass sie außerhalb des Ziellaufwerks gespeichert sind.

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