Adaptive Card Microsoft Flow pour mentionner un utilisateur Teams dans Teams

Adaptive Card Microsoft Flow pour mentionner un utilisateur Teams dans Teams

Les mentions fonctionnent pour les Adaptive Cards, mais uniquement depuis la version 1.2.

Documentation officielle : Mention support within Adaptive cards v1.2

{
  "version":"1.2",
  "type":"AdaptiveCard",
  "body":[
    {
       "type":"TextBlock",
       "text":"Ahoj <at>Michal Macejko</at>",
       "wrap":True
    }
  ],
  "$schema":"http://adaptivecards.io/schemas/adaptive-card.json",
  "msteams":{
    "entities":[
       {
         "additional_properties": {},
         "text": "<at>Michal Macejko</at>",
         "type": "mention",
         "mentioned":
           {
             "additional_properties": {},
             "id": "channelAccountID",
             "name": "Michal Macejko",
             "aad_object_id": "userID"
           }
       }
    ]
  }
}

aad_object_id est un attribut userId, récupéré depuis https://graph.microsoft.com/v1.0/teams/#{team_id}/members

channelAccountID est une valeur que vous devez obtenir depuis le SDK get_conversation_member

Voici un exemple en Python :

from botbuilder.schema import Activity, ActivityTypes, Attachment, Mention
from pyadaptivecards.card import AdaptiveCard
from pyadaptivecards.components import TextBlock

connector_client = await ADAPTER.create_connector_client(service_url)
 text_block = TextBlock(text="Hey! <at>Michal Macejko<at>", wrap=True)
 entities = []
 channel_account = await connector_client.conversations.get_conversation_member(conversation_id=teams_channel_id, member_id=aad_object_id)
 mention_object = Mention(mentioned=channel_account, text="<at>Michal Macejko</at>", type='mention')
 entities.ap

*(Réponse tronquée)*