1
votes

Comment publier un message à l'équipe Microsoft à partir d'une autre application

J'essaie de créer une méthode personnalisée dans mon application de bureau (en utilisant C #), pour publier un message dans une équipe Microsoft. mais je ne sais toujours pas quel type d'outil ou de services pour y parvenir. est-il possible d'y parvenir? si oui, comment?

J'ai trouvé une pépite concernant MS-Teams dans Visual Studio. mais cela ne fonctionnera pas. comme dans le marché de Visual studio. ce que j'ai trouvé est https://marketplace.visualstudio.com/items?itemName= ms-vsts.vss-services-équipes

Mais il semble que cela ne réponde pas à mes exigences.


0 commentaires

3 Réponses :


0
votes

La publication de messages en équipe peut être réalisée à l'aide de Connecteurs . Suivez le document pour créer un webhook entrant et publier le message à l'aide de la carte de message.


3 commentaires

me diriez-vous comment est la logique? Je veux dire, lorsque je clique sur un bouton de mon application de bureau, cela envoie un message à mon groupe MS.Team


J'ai essayé de demander dans ce post. mais il semble que cela ne fonctionne que pour azure devOps.


et j'ai essayé une autre approche par le déclencheur SQL SERVER sur MS.Flow. Ainsi, lorsque j'insère des données sur mon application, cela envoie un message à Teams. mais le problème est que le déclencheur ne fonctionnera pas sur les données locales .



1
votes

Nous avons réalisé la même chose avec l'aide de l'API graphique

NB: L'envoi de message au canal est actuellement en version bêta mais passera bientôt au point de terminaison graphique V1.

en utilisant HTTP:

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var chatMessage = new ChatMessage
{
    Subject = null,
    Body = new ItemBody
    {
        ContentType = BodyType.Html,
        Content = "<attachment id=\"74d20c7f34aa4a7fb74e2b30004247c5\"></attachment>"
    },
    Attachments = new List<ChatMessageAttachment>()
    {
        new ChatMessageAttachment
        {
            Id = "74d20c7f34aa4a7fb74e2b30004247c5",
            ContentType = "application/vnd.microsoft.card.thumbnail",
            ContentUrl = null,
            Content = "{\r\n  \"title\": \"This is an example of posting a card\",\r\n  \"subtitle\": \"<h3>This is the subtitle</h3>\",\r\n  \"text\": \"Here is some body text. <br>\\r\\nAnd a <a href=\\\"http://microsoft.com/\\\">hyperlink</a>. <br>\\r\\nAnd below that is some buttons:\",\r\n  \"buttons\": [\r\n    {\r\n      \"type\": \"messageBack\",\r\n      \"title\": \"Login to FakeBot\",\r\n      \"text\": \"login\",\r\n      \"displayText\": \"login\",\r\n      \"value\": \"login\"\r\n    }\r\n  ]\r\n}",
            Name = null,
            ThumbnailUrl = null
        }
    }
};

await graphClient.Teams["{id}"].Channels["{id}"].Messages
    .Request()
    .AddAsync(chatMessage);

en utilisant C #:

POST https://graph.microsoft.com/beta/teams/{id}/channels/{id}/messages
Content-type: application/json

{
  "body": {
    "content": "Hello World"
  }
}

Vous peut-être besoin de consulter la documentation officielle pour plus de clarté. Voici le lien ci-dessous

https://docs.microsoft.com/en-us/graph/api/channel-post-messages?view=graph-rest-beta&tabs=csharp

Dans mon cas, j'utilisais Angular et j'appelais les points de terminaison.

J'espère que cela donne une idée.


16 commentaires

Comment créer authProvider pour GraphServiceClient


chaque fois que j'essaye d'initier .CreateClientApplication () , il y a une ligne ondulée rouge. je ne sais pas ce qui ne va pas.


Utilisez-vous oAuthV2 pour vous connecter au service graphique? Et vous ne savez pas où vous appelez createClientApplication ()


var endpoint = "https://login.microsoftonline.com/organizations/oauth2/v2.0‌ / token"; Créer un fichier graphservice.cs


Peut-être que cela aide vraiment. https://github.com/microsoftgraph/csharp-teams-sample-graph essayez de le cloner et de peaufiner votre logique. Merci


désolé pour pas assez clair. dans vous publiez GraphServiceClient (authProvider); . alors essayez de lancer l'authentification. avec cette référence https://docs.microsoft.com/en-us/graph/sdks/choose-authentic‌ ation-providers? tabs‌ = CS # integrated-windo‌ ws-provider mais il toujours obtenir une ligne ondulée rouge pour .CreateClientApplication ()


je l'ai abordé, mais jusqu'à présent, je ne sais toujours pas pour résoudre mon problème. car encore confondre API GRAPH et la connecter avec des équipes


Salut Ragavan. J'ai essayé de tester tellement d'API de Graph API. Je pense que j'ai appris pas mal de choses comme créer une chaîne. ce que je veux demander, c'est comment publier un message sur une chaîne? (J'utilise C #) J'ai eu une erreur sur nouveau ChatMessage car il s'agissait d'une ligne rouge


et j'utilise cette pépite. Package d'installation Microsoft.Graph Package d'installation Microsoft.Graph.Auth -IncludePrerelease


Sûr heureux d'aider. publier un message sur une chaîne est toujours en beta . POST / teams / {id} / channels / {id} / messages . Mieux vaut vous diriger vers la documentation officielle docs.microsoft.com/en-us/graph/api/...


Si ma réponse vous est utile d'une manière ou d'une autre. N'oubliez pas de voter ou de l'accepter. Merci


salut rajan, question rapide comment puis-je savoir quelles propriétés sont prises en charge ou utilisées pour le message postal? dans chatMessage comme subject , body . parce que je veux créer un message personnalisé / simple. Merci


Le corps et le contenu doivent être définis par défaut. Essayez d'ajouter le point d'arrêt et appuyez sur le facteur sur votre point final.


Merci pour vos commentaires. J'ai eu une autre question, donc chaque fois que je lance mon application, j'ai été invité à me connecter avec un compte Microsoft. est-il possible pour l'utilisateur de ne pas se connecter à chaque fois qu'il lance le programme? afin qu'ils envoient directement des messages aux équipes


Sûr. Une fois authentifié, enregistrez le jeton dans le stockage de session. Vous devez vérifier l'heure d'expiration par défaut du jeton. J'espère que cela vous donnera une idée


pourriez-vous m'aider? je publie un 2e fil de discussion stackoverflow.com/questions/57198357/…



2
votes

Vous pouvez suivre 3 étapes pour envoyer des notifications de message à vos chaînes:

  1. Dans vos équipes, faites un clic droit sur votre chaîne. Et envoyez pour Webhook entrant . Canal du clic droit
  2. Installez / configurez le webhook, en fournissant un nom de webhook. Cliquez sur Créer Configurer le webhook entrant
  • Cela vous créera un lien, copiez le lien entrez la description de l'image ici
  1. Dernière étape, utilisez cette ligne de commande dans Power Shell
curl.exe -H "Content-Type:application/json" -d "{'text':'Servers x is started.'}" https://example.webhook.office.com/webhookb2/4dee1c26-036c-4bd2-af75-eb1abd901d18@3c69a296-d747-4ef3-9cc5-e94ee78db030/IncomingWebhook/87557542b42d8d3b04453c4a606f2b92/b852b3d0-84b6-4d98-a547-ae5f53452235

Remarque: l'URL dans la ligne de commande contient quelques faux numéros GUID, mais vous devez le remplacer par celui que vous obtenez des webhooks.

Vous pouvez appeler cette ligne dans Power Shell ou incorporée dans c #.

Maintenant, lorsque j'exécute la commande, je reçois un message dans ce canal:

 Message Demo a>


Dans le cas où vous auriez besoin de supprimer le hook que vous avez ajouté, cliquez sur Configuré puis Configurer. Et gérez le webhook: Gérer Web Hook Et supprimer Supprimer Web Hook


0 commentaires