Websocket エンドポイントを取得する
名前空間: microsoft.graph
重要
Microsoft Graph の /beta
バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
実稼働アプリケーションでこれらの API を使用することは、サポートされていません。
socket.io を使用して、ドライブとリストのほぼリアルタイムの変更通知を受け取ることができます。 Socket.io は、WebSocket を利用する JavaScript 用の一般的な通知ライブラリです。 詳細については、「 socket.io」を参照してください。
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、 アクセス許可のリファレンスを参照してください。
アクセス許可の種類 | 最小特権アクセス許可 | 特権の高いアクセス許可 |
---|---|---|
委任 (職場または学校のアカウント) | Files.Read | Files.ReadWrite、Files.ReadWrite.All、Sites.ReadWrite.All |
委任 (個人用 Microsoft アカウント) | 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
返されるは、socket.io エンドポイント URL です。
socket.io クライアントで使用するには、トークンで文字列を /callback?
分割します。
前 /callback?
の文字列の部分は socket.io エンドポイント URL であり、その後の文字列の一部はライブラリに指定する必要がある不透明なクエリ文字列です。
次の例は、JavaScript で socket.io と共に を notificationUrl
使用する方法を示しています。
// 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));