IIS Webhook Post
Мы используем ShareFile, и я хотел бы использовать API, которые они предоставляют, для запуска сценария powershell (Send E-mail) после получения уведомления.
http://api.sharefile.com/rest/webhooks/payloads.aspx
Поэтому я установил ngrok и запустил следующий код для прослушивания API.
$sfClient = Get-SfClient -Name 'path to sfps file'
$subscription = New-Object ShareFile.Api.Models.WebhookSubscription
$subscription.WebhookUrl = 'the ngrok url'
$subscriptionContext = New-Object ShareFile.Api.Models.SubscriptionContext
$subscriptionContext.ResourceType = 'Folder'
$subscriptionContext.ResourceId = 'folder id'
$subscription.SubscriptionContext = $subscriptionContext
$event = New-Object ShareFile.Api.Models.SubscribedResourceEvent
$event.ResourceType = 'File'
$event.OperationName = 'Upload'
$events = New-Object System.Collections.Generic.List[ShareFile.Api.Models.SubscribedResourceEvent]
$events.Add($event)
$subscription.Events = $events
$newSubscription = Send-SfRequest $sfClient -Method POST -Entity WebhookSubscriptions -Body $subscription
Это работает, я получаю следующее от ngrok - Post - метод 405 не разрешен
{
"WebhookSubscriptionId": "7969cfe7-1cc7-3b61-6bbe-4de9d395d4df",
"AccountId": "ac9830d3-addc-7e95-ab44-8ff50860166f",
"AccountInfo": {
"AccountId": "ac9830d3-addc-7e95-ab44-8ff50860166f",
"Subdomain": "MY DOMAIN",
"AppControlPlane": "sharefile.eu",
"ApiControlPlane": "sf-api.eu"
},
"Event": {
"Timestamp": "2018-04-09T08:24:18.6315597Z",
"EventUserId": "c3518858-3209-415d-ba54-a9c2fe0bd155",
"OperationName": "Upload",
"ResourceType": "File",
"Resource": {
"Id": "fifa3128-e985-638b-a557-8ddfc7e6ba20",
"StreamId": "st2292ec-00ab-46fd-9174-9178e8b6553d",
"Parent": {
"Id": "fo657f07-6fcd-45a3-8e66-042dfc91ba87"
}
}
}
}
Как мне запустить скрипт powershell сейчас? отправить электронное письмо