No delegated call history API in Microsoft Graph!?
In Microsoft Teams, a user can make and receive calls. Then in the Teams client there is a nice panel that show the call history
The frustrating part is there is no API for developers to get delegated (i.e. on behalf of a user) call history
But wait, you might be thinking, doesn't Microsoft Graph have a communications/callRecords
endpoint? Ah yes, I'm glad you asked.
- That endpoint does not support delegated permissions. Only Application level
CallRecords.Read.All
- Furthermore
communications/callRecords
requires a developer to setup a subscription which subscribes to Changes to all call records in the whole tenant!
If I am looking to develop an app the displays the signed in users call history, using the application level scope, subscribing to ALL call record changes for the tenant, then storing and parsing that data, is a gross violation of Microsoft Graph's principle of least privilege! Not only that, a Fortune 500 company is never going to grant my application that level of permission! In addition, I now have the whole headache of having to store and secure that PII on my servers/database.
Application level permissions are not a replacement for Delegated permissions. Full stop!
So that leaves us right back to square one. There is no API for developers to get delegated call history
I have created a public feedback item requesting this, so please do me a favor and go upvote that! (and tell all your friends 😉)
Until next time! Peace