Поделиться через


Получение конечной точки websocket

Пространство имен: microsoft.graph

Важно!

API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.

Использование этих API в производственных приложениях не поддерживается.

Позволяет получать уведомления об изменениях практически в реальном времени для диска и списка с помощью socket.io. Socket.io — это популярная библиотека уведомлений для JavaScript, которая использует WebSocket. Дополнительные сведения см. в разделе socket.io.

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) Files.Read Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) Files.Read Files.ReadWrite, Files.ReadWrite.All
Для приложений Не поддерживается. Не поддерживается.

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

Пример

Запрос

GET /me/drive/root/subscriptions/socketIo

Отклик

В случае успешного выполнения этот метод возвращает код отклика 200 OK и объект подписки в тексте ответа.

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

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

Возвращается notificationUrl URL-адрес конечной точки socket.io. Чтобы использовать его с клиентом socket.io, разделите строку на маркере /callback? . Часть строки перед /callback? является URL-адресом конечной точки socket.io, а часть строки после — непрозрачной строкой запроса, которую необходимо предоставить библиотеке.

В следующем примере показано, как использовать notificationUrl с socket.io в 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));