CallRecords 的 Azure 更改通知:生命周期通知对我不起作用

Azure change notification for CallRecords: lifecycle notification doesn't work for me

提问人:ingo_ww 提问时间:9/20/2021 最后编辑:ingo_ww 更新时间:9/28/2021 访问量:362

问:

我注册了 callrecord 的订阅。

我尝试了很多,我从带有 ngrok 的本地 C# 应用开始,然后我使用带有 nodejs 的 Azure 函数。在没有生命周期通知的情况下在本地创建订阅工作正常,使用 nodeJS 的 Azure 函数创建订阅也适用于两个 URL(通知和生命周期)。

对于后调用,我使用了以下 JSON:

{
   "resource": "communications/callRecords",,
   "changeType": "created",
   "clientState": "xyz",
   "notificationUrl": "https://<domain>/api/notificfation",
   "lifecycleNotificationUrl": "https://<domain>/api/lifecylcenotificfation",
   "expirationDateTime": "2021-08-29T16:36:56.1624377Z",
} 

这两个 url 的已注册 Azure 函数使用以下代码:

module.exports = async function (context, req) {
    context.log('Executing Webhook endpoint...');

    // Validate the subscription creation
    if (req.query.validationToken) {
        context.log('Validating new subscription...');
        context.log('Validation token:');
        context.log(req.query.validationToken);
        context.res = {
            headers: {
                'Content-Type': 'text/plain'
            },
            body: req.query.validationToken
        };
    }
    else {
        context.log('Received new notification...');
        context.log('Notification: ');
        context.log(JSON.stringify(req.body));
        context.res = { body: "" };
    }
};

问题不在于获取通话记录,而在于行为不端或我不知道的事情,我没有收到生命周期通知。

我尝试等待过期,阻止通知URL,删除应用程序注册,更改/删除密钥,删除必要的API权限。

我等了半天多,我认为 5-6 小时作为生命周期通知的反应时间,但我没有收到生命周期通知。

有人能告诉我出了什么问题吗?

azure-functions microsoft-graph-teams

评论

0赞 ChetanSharma-msft 9/27/2021
您能否分享您引用的文档 URL 和示例代码。这样我们就可以从我们这边尝试一下。
0赞 ingo_ww 9/27/2021
我指的是使用 Graph Api 链接和链接创建的 webhook 订阅。示例代码链接(未经修改,因为这是我第一次使用 javascript,通常使用 c#,但在许多异常或框架不兼容的情况下将 c# 示例发布为 AzureFunction 失败。 它是 OCDE 作为通知程序 URL 代码。
0赞 ingo_ww 9/27/2021
但这与此无关,因为如果在注册 webbhook 后出现问题,我应该可以获取 webrequests,但什么都没有,我也测试了端点作为通知 url。因此,它适用于通知,但有些东西用于发送 Azure 生命周期通知。我已经测试过很多次了,我也测试了它的用户通知。其中一个 C#Samples 来自教程链接,但这仅适用于 NGROK 本地,只有 1 个本地终结点。

答:

1赞 Hunaid Hanfee-MSFT 9/28/2021 #1

请查看此文档 - 减少缺少的订阅和更改通知

值得一提的是——

在以下资源类型上创建的订阅支持生命周期通知:

  • Outlook 邮件
  • Outlook 事件
  • Outlook 个人联系人
  • Teams 聊天消息

评论

0赞 ingo_ww 9/28/2021
For other resource types, you may still provide a lifecycleNotificationUrl when creating the subscription and your application will receive lifecycle notifications whenever the resource implements it.因此,通话记录和用户目前没有实现生命线通知。这是对的吗?
0赞 ingo_ww 9/28/2021
如果其他资源将实现它,我从哪里获得信息,而这些信息在生命周期通知支持的资源中未提及?
0赞 ingo_ww 9/29/2021
... will receive lifecycle notifications whenever the resource implements it.**我从哪里得到关于支持或不支持它的conrete信息?对我来说,现在只有通话记录感兴趣。似乎不支持它。它实际上不受支持吗?会得到支持吗?** 如果我得到更多信息,我会将其设置为已解决。
0赞 Hunaid Hanfee-MSFT 10/5/2021
您只能获取有关 Microsoft 文档的信息。目前不支持 callRecords,我们没有 ETA 可以分享它何时获得支持。