Freigeben über


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 die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. 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.

<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.8.1/socket.io.js"></script>
<script>
  // This is the notificationUrl returned from this API
  var notificationUrl = "https://f3hb0mpua.svc.ms/zbaehwg/callback?snthgk=1ff3-2345672zz831837523";
  
  // 'io' comes from the socket.io client library
  var socket = io(notificationUrl, {
    transports: ['websocket'] // Make sure to use "websocket" instead of the default value of "polling" which isn't supported
  });
  
  socket.on("connect", () => {
    console.log(`connect`, socket.id);
  });
  
  socket.on("disconnect", () => {
    // Returns "undefined" on disconnect
    console.log(`disconnect`, socket.id);
  });
  
  socket.on("notification", (data) => {
    console.log(`Notification received:`, data);
  });
</script>