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.
3 Réponses :
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.
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
.
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.
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/…
Vous pouvez suivre 3 étapes pour envoyer des notifications de message à vos chaînes:
Webhook entrant
.
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:
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:
Et supprimer