我们正在寻找一种方法来获取 MS Teams 中所有当前活动的 PSTN 呼叫的列表。我们试过这个:
https://learn.microsoft.com/en-us/graph/api/callrecords-callrecord-getpstncalls?view=graph-rest-beta
这几乎正是我们所需要的,只是在通话结束之前记录似乎不会出现在这里。我们正在尝试构建的应用程序需要的是实时通话记录。
我们也尝试过创建订阅,获取特定通话的ID,然后查找通话记录,但这个数据似乎也有延迟。
我们这里是否缺少一种方法,或者同样,这是否可能很快就会添加到 API 中?
目前没有图形 API 来获取 Teams 中的活动 PSTN 呼叫列表。
Microsoft 将始终关注客户的反馈和体验,未来会根据客户的反馈在服务中添加一些新功能,我们也建议您在 Teams UserVoice 中提出您的新想法here.
他们在文档中明确提到,我们无法直接获取详细信息。但是您可以从您的应用程序中获取记录。使用应用端不记名令牌。
获取 PSTN 和 DirectRoutingCalls 的所有结果的功能
函数 getvalue ($Uri, $Headers) {
$results = Invoke-RestMethod -Uri $Uri -Headers $Headers -Method Get
foreach ($entry in $results.Value) {
$obj = New-Object -TypeName psobject
$obj |Add-Member -MemberType NoteProperty -Name "userprincipalname" -Value $entry.userprincipalname
$obj |Add-Member -MemberType NoteProperty -Name "startDateTime" -Value $entry.startDateTime
$obj |Add-Member -MemberType NoteProperty -Name "endDateTime" -Value $entry.endDateTime
$obj |Add-Member -MemberType NoteProperty -Name "duration" -Value $entry.duration
$obj |Add-Member -MemberType NoteProperty -Name "callType" -Value $entry.callType
$obj |Add-Member -MemberType NoteProperty -Name "calleeNumber" -Value $entry.calleeNumber
$obj |Add-Member -MemberType NoteProperty -Name "callerNumber" -Value $entry.callerNumber
$obj |Add-Member -MemberType NoteProperty -Name "usageCountryCode" -Value $entry.usageCountryCode
$obj | export-csv c:\Temp\${Outfile}.csv -Append -NoTypeInformation
}
$queryURL = $results.'@odata.nextLink'
if ($results.'@odata.nextLink'.Length -ne 0) { $uri = "$queryURL";获取价值 $uri $Headers } }
#PSTN URI = "https://graph.microsoft.com/beta/communications/callRecords/getPstnCalls(fromDateTime=$startdate,toDateTime=$enddate)" #Direct Routing URI = "https://graph.microsoft.com/beta/communications/callRecords/getDirectRoutingCalls(fromDateTime=$startdate,toDateTime=$enddate)"