Microsoft团队:如何从没有Bot的外部应用程序向用户发送消息/卡

时间:2019-01-18 11:12:23

标签: asp.net api webhooks microsoft-teams

我们有一个外部ASP.NET 4.7应用程序(在Azure App Service中),该应用程序应该将消息/卡片发送给团队中的一个特定用户(没有Bot)。

我设法通过连接器/ WebHook将卡发送到通道,但是无法定位到特定用户。

我该怎么做/需要哪些服务?

请尽可能简单:-)

谢谢

=========================

更新:示例代码:

Private Shared Sub SendToTeams(ChannelPath As AppSettingsKey, Card As TeamsCard)

    If String.IsNullOrWhiteSpace(ChannelPath) Then Return

    Dim Channel = AppSettings.GetAppSetting(ChannelPath)
    If String.IsNullOrWhiteSpace(Channel) Then Return

    Dim ChannelWebHook = "https://outlook.office.com"

    Dim Client = New RestClient(ChannelWebHook)

    Dim Req = New RestRequest(Method.POST) With {
        .Resource = Channel,
        .RequestFormat = DataFormat.Json
    }

    Dim JSON = Card.SaveJSON(False)

    Req.AddParameter("application/json; charset=utf-8", JSON, ParameterType.RequestBody)

    Dim Erg = Client.Execute(Req)

    Logger.Info("Teams:", Erg.StatusCode)
End Sub

和一些助手:

Friend Class TeamsCard
    <JsonProperty(PropertyName:="@context")> Public Property context As String = "https://schema.org/extensions"
    <JsonProperty(PropertyName:="@type")> Public Property type As String = "MessageCard"
    Public Property themeColor As String = "ff6100"
    Public Property title As String = "Title"
    Public Property summary As String = "Summary"
    Public Property text As String = "Text"
    Public Property potentialAction As New List(Of TeamsCardAction)
End Class


Friend Class TeamsCardAction
    <JsonProperty(PropertyName:="@type")> Public Property type As String = "OpenUri"
    Public Property name As String = "ButtonText"
    Public Property targets As New List(Of TeamsCardButtonTarget)
    Public Sub New(Text As String, URI As String)
        name = Text
        targets.Add(New TeamsCardButtonTarget With {.uri = URI})
    End Sub
End Class


Friend Class TeamsCardButtonTarget
    Public Property os As String = "default"
    Public Property uri As String = "https://google.com"
End Class

1 个答案:

答案 0 :(得分:0)

当前,Office 365 Connectos仅支持频道。这些用户不能向个人用户发送消息/卡。

只有将消息发送给Microsoft Teams个人用户的选项将使用Bots