【发布时间】:2020-08-13 21:58:35
【问题描述】:
所以我想在通话发生时收到通知 callRecord (/communications/callRecords) 所以我抓住了自己的 this 示例并将任务功能更改为:
public async Task<ActionResult<string>> Get()
{
var graphServiceClient = GetGraphClient();
var sub = new Microsoft.Graph.Subscription();
sub.ChangeType = "created";
sub.NotificationUrl = config.Ngrok + "/api/notifications";
sub.Resource = "/communications/callRecords";
sub.ExpirationDateTime = DateTime.UtcNow.AddMinutes(5);
var newSubscription = await graphServiceClient
.Subscriptions
.Request()
.AddAsync(sub);
Subscriptions[newSubscription.Id] = newSubscription;
if (subscriptionTimer == null)
{
subscriptionTimer = new Timer(CheckSubscriptions, null, 5000, 15000);
}
return $"Subscribed. Id: {newSubscription.Id}, Expiration: {newSubscription.ExpirationDateTime}";
}
我还在我的应用程序中添加了图形 api 权限 CallRecords.Read.All。事先我用更新的用户通知测试了这个例子,它工作得很好。但现在它不会触发来电通知。
【问题讨论】:
-
创建订阅时得到什么响应?您在文档中看到延迟表了吗? (上周添加)docs.microsoft.com/en-us/graph/webhooks#latency
-
我让它运行了将近两个小时,没有对我的 api 进行订阅调用。这是我收到的:
Subscribed. Id: ff3e9962-8643-4235-bb14-0bec0f9b3b3f, Expiration: 13.08.2020 13:40:08 +00:00
标签: c# microsoft-graph-api microsoft-teams