【问题标题】:Open a Teams TaskModule from an Adaptive card从自适应卡打开 Teams TaskModule
【发布时间】:2020-07-29 13:05:38
【问题描述】:

我正在尝试从自适应卡打开任务模块。 当我使用 HeroCard 并嵌入这样的按钮时

Buttons = new List<CardAction>()
{
new TaskModuleAction("Start task", new { data = "open_task" }),
}

它会生成这样的 json:

  {
  "type": "invoke",
  "title": "Start task",
  "image": null,
  "text": null,
  "displayText": null,
  "value": "{\n  \"data\": \"open_task\",\n  \"type\": \"task/fetch\"\n}",
  "channelData": null
}

单击按钮时,将调用我的 OnTeamsMessagingExtensionFetchTaskAsync 函数。

在使用自适应卡片时,我将如何实现同样的效果? Action.Submit、Action.OpenURL、Action.showCard 选项似乎都不是正确的选择。

【问题讨论】:

    标签: botframework bots microsoft-teams adaptive-cards


    【解决方案1】:

    您可以使用自适应卡片提交动作类型来打开任务模块。

    下面是c#代码sn-p

    new AdaptiveCard()
                {
    
                    Actions =
                    {
                        new AdaptiveSubmitAction()
                        {
                            Title = "Title",
                            Data = new TaskModuleDetail<string>() { Data = "data here" }
                        },
    
                    }
                };
    

    TaskModuleDetail 类

    public class TaskModuleDetail<T>
        {
            [JsonProperty("msteams")]
            public object Type { get; set; } = JsonConvert.DeserializeObject("{\"type\": \"task/fetch\" }");
            [JsonProperty("data")]
            public T Data { get; set; }
        }
    

    【讨论】:

      猜你喜欢
      • 2021-02-06
      • 1970-01-01
      • 2018-03-24
      • 2020-02-17
      • 2020-01-13
      • 2019-01-18
      • 2021-03-04
      • 2021-12-05
      • 1970-01-01
      相关资源
      最近更新 更多