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));