Obter o ponto de extremidade websocket
Namespace: microsoft.graph
Importante
As APIs na versão /beta
no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Não há suporte para o uso dessas APIs em aplicativos de produção.
Permite que você receba notificações de alteração quase em tempo real para uma unidade e lista usando socket.io. Socket.io é uma biblioteca de notificações popular para JavaScript que utiliza WebSockets. Para saber mais, confira socket.io.
Permissões
Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
Tipo de permissão | Permissões menos privilegiadas | Permissões privilegiadas mais altas |
---|---|---|
Delegado (conta corporativa ou de estudante) | Files.Read | Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All |
Delegado (conta pessoal da Microsoft) | Files.Read | Files.ReadWrite, Files.ReadWrite.All |
Aplicativo | Sem suporte. | Sem suporte. |
Solicitação 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
Exemplo
Solicitação
GET /me/drive/root/subscriptions/socketIo
Resposta
Se for bem-sucedido, esse método retornará um 200 OK
código de resposta e um objeto de assinatura no corpo da resposta.
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "opaqueId-fj3hd7yf283jfk193726nvc2w3i2diemdu8",
"notificationUrl": "https://f3hb0mpua.svc.ms/zbaehwg/callback?snthgk=1ff3-2345672zz831837523"
}
O notificationUrl
retornado é uma URL do ponto de extremidade socket.io.
Para usá-lo com um cliente socket.io, divida a cadeia de caracteres no /callback?
token.
A parte da cadeia de caracteres anterior /callback?
é a URL do ponto de extremidade socket.io e a parte da cadeia de caracteres depois é uma cadeia de caracteres de consulta opaca que deve ser dada à biblioteca.
O exemplo a seguir mostra como usar o notificationUrl
com socket.io no 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));