Adaptive Card Microsoft Flow pour mentionner un utilisateur Teams dans Teams

Adaptive Card Microsoft Flow pour mentionner un utilisateur Teams dans Teams


Source : Stack Overflow [microsoft-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)*