Obtención del punto de conexión de WebSocket

Espacio de nombres: microsoft.graph

Importante

Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.

No se admite el uso de estas API en aplicaciones de producción.

Permite recibir notificaciones de cambios casi en tiempo real para una unidad y una lista mediante socket.io. Socket.io es una biblioteca de notificaciones popular para JavaScript que usa WebSockets. Para obtener más información, consulte socket.io.

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) Files.Read Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All
Delegado (cuenta personal de Microsoft) Files.Read Files.ReadWrite, Files.ReadWrite.All
Aplicación No admitida. No admitida.

Solicitud 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

Ejemplo

Solicitud

GET /me/drive/root/subscriptions/socketIo

Respuesta

Si se ejecuta correctamente, este método devuelve un 200 OK código de respuesta y un objeto de suscripción en el cuerpo de la respuesta.

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

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

El notificationUrl valor devuelto es una dirección URL del punto de conexión de socket.io. Para usarlo con un cliente socket.io, divida la cadena en el /callback? token. La parte de la cadena anterior /callback? es la dirección URL del punto de conexión socket.io y la parte de la cadena después es una cadena de consulta opaca que se debe proporcionar a la biblioteca.

En el ejemplo siguiente se muestra cómo usar notificationUrl con socket.io 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));