Partager via


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 quasi-temps 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 plus d’informations, consultez socket.io.

Autorisations

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

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
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

Si elle réussit, cette méthode renvoie un 200 OK code de réponse et un objet d’abonnement 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"
}

Le notificationUrl retourné est une URL de point de terminaison socket.io. Pour l’utiliser avec un client socket.io, fractionnez la chaîne sur le /callback? jeton. La partie de la chaîne avant /callback? est l’URL de 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 avec socket.io notificationUrl en JavaScript.

// 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));