Obtenir le point de terminaison websocket

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

L’utilisation de ces API dans des applications de production n’est pas prise en charge.

Vous permet de recevoir des notifications de modification en temps quasi réel pour un lecteur et une liste à l’aide de socket.io. Socket.io est une bibliothèque de notifications populaire pour JavaScript qui utilise WebSockets. Pour en savoir plus, consultez socket.io.

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme étant les moins privilégiées pour cette API. Utilisez une ou plusieurs autorisations privilégiées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, voir Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez la référence des autorisations.

Type d’autorisation Autorisations les moins privilégiées Autorisations à privilèges plus élevés
Déléguée (compte professionnel ou scolaire) Files.Read Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All
Déléguée (compte Microsoft personnel) Files.Read Files.ReadWrite, Files.ReadWrite.All
Application Non prise en charge. Non prise en charge.

Requête HTTP

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

Exemple

Demande

GET /me/drive/root/subscriptions/socketIo

Réponse

En cas de réussite, cette méthode renvoie un code de réponse et un 200 OK objet Subscription dans le corps de la réponse.

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

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

L’URL notificationUrl renvoyée est une URL de point de terminaison socket.io. Pour l’utiliser avec un client socket.io, divisez la chaîne sur le /callback? jeton. La partie de la chaîne avant /callback? est l’URL du point de terminaison socket.io et la partie de la chaîne après est une chaîne de requête opaque qui doit être donnée à la bibliothèque.

L’exemple suivant montre comment utiliser le notificationUrl socket.io en JavaScript.

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