如果您不收到Microsoft Graph webhook更改通知的“callRecording”事件,可以尝试以下解决方法:
确保正确注册了Microsoft Graph webhook以侦听“callRecording”事件的更改通知。
示例代码:
var subscription = new Subscription
{
ChangeType = "created,updated,deleted",
NotificationUrl = "",
Resource = "/communications/callRecordings",
ExpirationDateTime = DateTime.UtcNow.AddMinutes(30),
ClientState = ""
};
await graphServiceClient.Subscriptions
.Request()
.AddAsync(subscription);
检查您的Webhook URL是否正确,并确保可以通过互联网访问。
确保您的Webhook服务端正确处理接收到的更改通知。您的服务端应该验证收到的通知,并返回200 OK作为确认。
示例代码:
[HttpPost]
public async Task ReceiveNotification()
{
// 验证收到的通知
var notification = await new StreamReader(Request.Body).ReadToEndAsync();
var isValid = // 验证通知的签名和有效性的逻辑
if (isValid)
{
// 处理通知
return Ok();
}
return BadRequest();
}
检查是否有防火墙或网络配置阻止了来自Microsoft Graph的通知请求。确保您的网络配置允许从Microsoft Graph接收Webhook通知。
检查您的应用程序权限是否正确配置,并在注册应用程序时请求了正确的权限。
示例代码:
"requiredResourceAccess": [
{
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"resourceAccess": [
{
"id": "78c8a3c8-a07e-4b9e-af1b-b5ccab50a175", // "CallRecords.Read.All" 权限的 ID
"type": "Scope"
}
]
}
]
如果您仍然无法收到“callRecording”事件的更改通知,请参考Microsoft Graph文档和日志以进一步排查问题。
上一篇:不收到联系表单的电子邮件
下一篇:不受大小限制的读取文件数据