Forum Discussion
Pin a message in a channel in MS Teams using MS Graph API
I've created a MS Teams app and as part of it's functionality, it has to pin the message (in both one-on-one chat and in a channel) on behalf of the user
I'm using below API to pin a message in a channel in MS Teams
https://graph.microsoft.com/v1.0/chats/19:....@thread.tacv2/pinnedMessages
Endpoint: - POST https://graph.microsoft.com/v1.0/chats/19:....@thread.tacv2/pinnedMessages
Body:
{
"email address removed for privacy reasons": "https://graph.microsoft.com/v1.0/chats/https://graph.microsoft.com/v1.0/chats/19:....@thread.tacv2/pinnedMessages/messages/<message_id>"
}
Note: - https://graph.microsoft.com/v1.0/chats/19:....@thread.tacv2/pinnedMessages is the chatID of the channel
And I get a successful response as below
201 Created
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#chats('19%3.......%40thread.tacv2')/pinnedMessages/$entity",
"id": "<message_id>"
}
But when I go that particular channel, I don't see the message as the pinned message in the channel
But when I try to get the list of pinned message in a channel using below API, it gives the response that the above message which I pinned. But I don't see it in the channel in MS Teams.
And I'm facing this issue only while pinning the message in the channel using MS Graph API. I don't face the same issue with one-on-one chat with the bot I've created.
1 Reply
- nikhilkuntaCopper Contributor
There is a typo in the request body above. Below is the request body.
Body:
{
"message @odata.bind"
: "https://graph.microsoft.com/v1.0/chats/19:....@thread.tacv2/messages/<message_id>"
}