新しいサブスクリプションの作成

SharePoint リストに新しい webhook サブスクリプションを作成します。

アクセス許可

アプリケーションには、少なくともサブスクリプションが作成される SharePoint リストへの編集許可が必要です。

アプリケーションが、Microsoft Azure Active Directory (Azure AD) アプリケーションである場合

Azure AD のアプリケーションに次の表で指定されるアクセス許可を与える必要があります。

アプリケーション アクセス許可
Office 365 SharePoint Online すべてのサイト コレクション内のアイテムおよびリストを読み取り、書き込みます。

アプリケーションが SharePoint アドインである場合

次のアクセス許可もしくはそれ以上の許可を SharePoint アドインに与える必要があります。

スコープ アクセス権限
リスト 管理

HTTP 要求

POST /_api/web/lists('list-id')/subscriptions

要求本文

要求の本文には次のプロパティが含まれます。

名前 説明
リソース 文字列 通知の送信元リストの URL。
notificationUrl 文字列 通知の送信先のサービス URL。
expirationDateTime 日付 通知の有効期限が切れ、削除される日。
clientState string 省略可能。 すべての通知でクライアントに送り返される不明瞭な文字列。
これは通知の検証や、他のサブスクリプションのタグ付けで使用できます。

POST /_api/web/lists('5C77031A-9621-4DFC-BB5D-57803A94E91D')/subscriptions
Accept: application/json
Content-Type: application/json

{
  "resource": "https://contoso.sharepoint.com/_api/web/lists('5C77031A-9621-4DFC-BB5D-57803A94E91D')",
  "notificationUrl": "https://91e383a5.ngrok.io/api/webhook/handlerequest",
  "expirationDateTime": "2016-04-27T16:17:57+00:00"
}

応答

サブスクリプションを追加する場合、新たに作成されたサブスクリプション オブジェクトを含む 201 Created 応答が返されます。

HTTP/1.1 201 Created
Content-Type: application/json

{
    "id": "a8e6d5e6-9f7f-497a-b97f-8ffe8f559dc7",
    "expirationDateTime": "2016-04-27T16:17:57Z",
    "notificationUrl": "https://91e383a5.ngrok.io/api/webhook/handlerequest",
    "resource": "5c77031a-9621-4dfc-bb5d-57803a94e91d"
}

URL の検証

重要

新しいサブスクリプションが作成される前に、SharePoint は要求のクエリ文字列に検証トークンを含む要求を、指定された通知 URL に送信します。 サービスは、検証トークンを返すことで、この要求に応答する必要があります。 この方法でサービスが要求の検証に失敗した場合、サブスクリプションは作成されません。**

{
  return new OkObjectResult(req.Query["validationtoken"].ToString());
}

関連項目