Abrufen des Websocket-Endpunkts

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt.

Ermöglicht es Ihnen, Änderungsbenachrichtigungen für ein Laufwerk und eine Liste nahezu in Echtzeit zu erhalten, indem Sie socket.io verwenden. Socket.io ist eine beliebte Benachrichtigungsbibliothek für JavaScript, die WebSockets verwendet. Weitere Informationen finden Sie unter socket.io.

Berechtigungen

Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Files.Read Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Files.Read Files.ReadWrite, Files.ReadWrite.All
Anwendung Nicht unterstützt Nicht unterstützt

HTTP-Anforderung

GET /me/drive/root/subscriptions/socketIo
GET /drives/{driveId}/root/subscriptions/socketIo
GET /drives/{driveId}/list/subscriptions/socketIo
GET /groups/{groupId}/drive/root/subscriptions/socketIo
GET /sites/{siteId}/lists/{listId}/drive/root/subscriptions/socketIo

Beispiel

Anforderung

GET /me/drive/root/subscriptions/socketIo

Antwort

Bei erfolgreicher Ausführung gibt die Methode einen 200 OK Antwortcode und ein Abonnementobjekt im Antworttext zurück.

HTTP/1.1 200 OK
Content-type: application/json

{
  "id": "opaqueId-fj3hd7yf283jfk193726nvc2w3i2diemdu8",
  "notificationUrl": "https://f3hb0mpua.svc.ms/zbaehwg/callback?snthgk=1ff3-2345672zz831837523"
}

Die notificationUrl zurückgegebene ist eine socket.io Endpunkt-URL. Um es mit einem socket.io Client zu verwenden, teilen Sie die Zeichenfolge im /callback? Token auf. Der Teil der Zeichenfolge vor /callback? ist die socket.io Endpunkt-URL, und der Teil der Zeichenfolge nach ist eine nicht transparente Abfragezeichenfolge, die der Bibliothek übergeben werden muss.

Das folgende Beispiel zeigt, wie Sie mit notificationUrl socket.io in JavaScript verwenden.

// this is the notificationUrl returned from this API
var notificationUrl = "https://f3hb0mpua.svc.ms/zbaehwg/callback?snthgk=1ff3-2345672zz831837523";

// after the split, split[0] will be everything leading up to '/callback?' and split[1] will be everything after.
var split = notificationUrl.split("/callback?");

// 'io' comes from the socket.io client library
var socket = io(split[0], { query: split[1] });

// these examples log to the console.
// your app would provide its own callbacks
socket.on("connect", ()=>console.log("Connected!"));
socket.on("notification", (data)=>console.log("Notification!", data));