New in Microsoft Graph: API calls to get EVERYTHING a user sent in Chat, All Chats in Channels, and support for Apps in Chat
It’s been a busy week for adding new Microsoft Teams functionality to Microsoft Graph, and also for graduating beta functionality to 1.0. Here’s a roundup of what’s new – including new functionality for managing apps, and new ways to get ALL chat data about a user or a channel.
Promoted to 1.0
These calls are all about programmatically working with apps in Microsoft Teams. Some of these calls were in beta before and some look to have jumped straight to 1.0 (but I’m not certain of that).
There is support for adding and removing, listing and upgrading. With these APIs, this should really improve the experience of users in enterprises because it will enable admins to grant permission to apps to install themselves as needed, rather than requiring users to manually choose them from the Store.
What is really good to see is that the permission scopes of these calls are both granular and specific, such as in this call to retrieve information about an app installed in a team:
The full list of new API calls in 1.0 are:
- Get the installed app in team
- List apps for user
- Get installed app for user
- Install app for user
- Uninstall app for user
- Upgrade installed app for user
New to beta: Apps & Tabs in Chat
There are new APIs to support both apps & tabs in chat. It’s good to see these added to the API lineup and bringing the same functionality to apps in chat, as are in channels:
New to beta: Get All Messages API Calls
There are two new API calls in beta now, which will be of interest to anyone trying to parse all information about a user’s chat behaviour, or all the conversations happening in a channel.
Get All Chat Messages
This call gets all messages from all chats that a user is a participant in, including one-on-one chats, group chats, and meeting chats.
It requires Chat.Read.All or higher, and is a Protected API call.
The API call supports using oData to filter on the lastModifiedTime being between two values.
More: Get all chat messages
Get All Channel Messages
It requires the ChannelMessage.Read.All permissions and is a Protected API call.
There are currently no OData parameters you can use with this call, meaning it will return all messages in all channels in the team.