Obter o ponto de extremidade websocket
Namespace: microsoft.graph
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
Cabeçalhos de solicitação
Nome | Descrição |
---|---|
Autorização | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
Content-Type | application/json. Obrigatório. |
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.
O exemplo a seguir mostra como usar o notificationUrl
com socket.io no 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>