【发布时间】:2021-06-01 04:31:07
【问题描述】:
所以我有一个用例,我需要接收来自 Microsoft Teams 通话的通话记录。我在 Microsoft Graph 调用中找到了允许此操作的文档,位于:(https://docs.microsoft.com/en-us/graph/api/callrecords-callrecord-get?view=graph-rest-1.0)。
在此页面中,它还提到可以使用 Graph Subscriptions 将通话记录发送到网络挂钩。 (https://docs.microsoft.com/en-us/graph/api/subscription-post-subscriptions?view=graph-rest-1.0&tabs=http)。
它说我需要将应用程序 API 权限授予https://graph.microsoft.com/CallRecords.Read.All。我创建了一个只有此权限的新应用注册。
我为组织做了行政许可。
我向https://login.microsoftonline.com/{tenantId}/v2.0 请求了一个承载令牌,范围为https://graph.microsoft.com/.default。
我在https://graph.microsoft.com/v1.0/subscriptions 发帖,正文如下:
{
"changeType": "created",
"notificationUrl": "xxx",
"resource": "/communications/callRecords",
"expirationDateTime": "2021-03-03T11:00:00.0000000Z"
}
在我的端点接收通知时,我正在使用验证令牌进行回复,我看到请求/响应从 Graph API 传入我的端点,并且它成功返回了带有令牌的 200。
我的帖子回复返回 403 Forbidden。
{
"error": {
"code": "ExtensionError",
"message": "Operation: Create; Exception: [Status Code: Forbidden; Reason: The request is not authorized for this user or application.]",
"innerError": {
"date": "2021-03-02T15:32:36",
"request-id": "21ac082f-e2a4-41e0-badf-4672e5b05cc8",
"client-request-id": "21ac082f-e2a4-41e0-badf-4672e5b05cc8"
}
}
}
关于我缺少哪一步有什么想法吗?
【问题讨论】:
-
您尝试执行哪个 API 调用?使用jwt.ms 检查令牌是否具有必要的权限,以查看它是否具有访问给定工作负载/资源所需的范围/权限。
标签: microsoft-graph-api microsoft-graph-sdks microsoft-graph-teams