新しいサブスクリプションの作成
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());
}