【问题标题】:Microsoft Teams task module with URL not working带有 URL 的 Microsoft Teams 任务模块不起作用
【发布时间】:2021-06-08 08:16:51
【问题描述】:

触发将显示网页的任务模块。 我所能得到的只是一个带有标题的空任务模块,而指定的高度和宽度既不影响也不显示 URL。

任务模块获取处理函数:

const { TeamsActivityHandler } = require('botbuilder');
class Foo extends TeamsActivityHandler {
/* ... */
  handleTeamsTaskModuleFetch(context, data) {
    return {
      task: {
        type: 'continue',
        value: {
          title: 'Task module title',
          height: 1000,
          width: 700,
          fallbackUrl: 'https://giltichon.com/bar',
          url: 'https://giltichon.com/bar',
        }
      }
    };
  };
};

我已确保在应用清单 validDomains 中列出 URL,但该 URL 仍然没有显示...

更新:还添加了composeExtensions 属性

应用清单:

{
...
  "composeExtensions": [
    {
      "botId": "***",
      "canUpdateConfiguration": true,
      "commands": [],
      "messageHandlers": [
        {
          "type": "link",
          "value": {
            "domains": [
              "giltichon.com"
            ]
          }
        }
      ]
    }
  ],
  "validDomains": [
    "giltichon.com"
  ]
}

【问题讨论】:

    标签: botframework bots microsoft-teams


    【解决方案1】:

    关于页面未显示,几乎可以肯定是域有效性问题。检查域的格式总是值得的(你只需要'www.contoso.com',而不是'https://www.contoso.com'),但在这种情况下,因为你使用的是任务模块,所以将是清单中的“composeExtension”部分。这有自己的“有效域”部分,格式如下:

    “消息处理程序”:[ { “类型”:“链接”, “价值”: { “域”:[ “whatever.azurewebsites.net” ] } } ] 看起来您可能缺少这个额外的域值。

    【讨论】:

    • 我已经编辑了问题以反映 manifest.json 文件,我添加了 composeExtension 属性但没有帮助...:\
    • 我假设您并没有真正指向 Google.com。它实际上是一个内部网站吗?如果是这样,它是否包含 Teams JS SDK?我认为这也是一个要求(它是一个选项卡正确显示,我现在不能为一个任务模块)。如果它要求并且您无法更改底层系统,则可以将其包装在 iframe 中...
    • 针对这个问题,我创建了giltichon.com/bar,它与编辑过的example 问题中的HTML 页面相同
    • 好的,完美。请注意该示例如何有一个容器框架,它引用 MicrosoftTeams.min.js,然后将 YouTube 插入其中。请尝试类似的方法,看看是否有效
    • 将 URL 链接到该页面没有帮助
    猜你喜欢
    • 2021-10-03
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多