【问题标题】:MS Teams static tab with content bot id shows error in personal chat scope带有内容机器人 ID 的 MS Teams 静态选项卡在个人聊天范围内显示错误
【发布时间】:2022-05-05 04:26:47
【问题描述】:

我正在为指定 contentBotId 的 MS Teams 构建一个静态选项卡。staticTabs 清单条目如下所示:

"staticTabs": [
    {
        "entityId": "availability",
        "name": "Availability",
        "scopes": [ "personal" ],
        "contentBotId": "myBotId",
        "context": [ "personalTab" ]
    },
    {
        "entityId": "coffees",
        "name": "Coffees",
        "scopes": [ "personal" ],
        "contentUrl": "https://my-content-url.com/...",
        "websiteUrl": "https://my-website-url.com/...",
        "context": ["personalTab"]
    }
],

因此,可用性选项卡使用 contentBotId,而咖啡选项卡是一个网站。我对 Coffees 选项卡没有任何问题,但在聊天范围内的可用性选项卡有问题。
当我尝试从个人应用程序侧面板打开可用性选项卡时 - 一切都按预期工作:
但是,当我尝试通过与我的机器人聊天打开同一个选项卡时 - MS Teams 显示 访问此应用时出现问题 错误: 在 MS Team Dev 控制台中,我可以看到以下错误:

CDL: {"errorCode":"Error","requestId":"q-15","hostRendererId":"5e3ce6c0-2b1f-4285-8d4b-75ee78787346","component":"RequestHandler","requestWindowId":"main","operationType":"query","operationName":"appDefinition","message":"error while processing q-15: {\"name\":\"Error\",\"message\":\"Variable \\\"$appId\\\" got invalid value undefined; Expected non-nullable type \\\"ID!\\\" not to be null.\",\"stack\":[]} (reason: undefined)"}
console.error @ ?agent=electron&version=21071502213:1
invoke @ main-2d2eb2cbb891032b.js:22
error @ main-2d2eb2cbb891032b.js:22
(anonymous) @ main-2d2eb2cbb891032b.js:22
safeWrapILoggerCall @ main-2d2eb2cbb891032b.js:22
error @ main-2d2eb2cbb891032b.js:22
onError @ main-2d2eb2cbb891032b.js:22
setResponseAndEndScenario @ main-2d2eb2cbb891032b.js:22
reconcileResponse @ main-2d2eb2cbb891032b.js:22
onMessageReceived @ main-2d2eb2cbb891032b.js:22
(anonymous) @ main-2d2eb2cbb891032b.js:22
(anonymous) @ main-2d2eb2cbb891032b.js:22
(anonymous) @ main-2d2eb2cbb891032b.js:27
(anonymous) @ main-2d2eb2cbb891032b.js:27
(anonymous) @ VM5:2
emit @ electron/js2c/sandbox_bundle.js:170
onMessage @ electron/js2c/sandbox_bundle.js:151

TrackRequestLink: 'appDefinition' operation of type 'query' failed.
console.error @ ?agent=electron&version=21071502213:1
invoke @ main-2d2eb2cbb891032b.js:22
error @ main-2d2eb2cbb891032b.js:22
(anonymous) @ main-2d2eb2cbb891032b.js:22
Ds @ main-2d2eb2cbb891032b.js:22
Ms @ main-2d2eb2cbb891032b.js:22
error @ main-2d2eb2cbb891032b.js:22
m @ 73296-3f79f77061841a23.js:1
b @ 73296-3f79f77061841a23.js:1
value @ 73296-3f79f77061841a23.js:1
error @ 73296-3f79f77061841a23.js:1
m @ 73296-3f79f77061841a23.js:1
b @ 73296-3f79f77061841a23.js:1
value @ 73296-3f79f77061841a23.js:1
(anonymous) @ main-2d2eb2cbb891032b.js:22
onError @ main-2d2eb2cbb891032b.js:22
onError @ main-2d2eb2cbb891032b.js:22
setResponseAndEndScenario @ main-2d2eb2cbb891032b.js:22
reconcileResponse @ main-2d2eb2cbb891032b.js:22
onMessageReceived @ main-2d2eb2cbb891032b.js:22
(anonymous) @ main-2d2eb2cbb891032b.js:22
(anonymous) @ main-2d2eb2cbb891032b.js:22
(anonymous) @ main-2d2eb2cbb891032b.js:27
(anonymous) @ main-2d2eb2cbb891032b.js:27
(anonymous) @ VM5:2
emit @ electron/js2c/sandbox_bundle.js:170
onMessage @ electron/js2c/sandbox_bundle.js:151

TrackRequestLink: Errors ['{"name":"Error","message":"Variable \"$appId\" got invalid value undefined; Expected non-nullable type \"ID!\" not to be null.","stack":[]}']

Error: Unable to fetch app definition

我已经仔细检查了清单架构,并认为我没有遗漏任何东西,但可能是错误的。如果是,请纠正我。我使用的架构是:https://developer.microsoft.com/en-us/json-schemas/teams/v1.9/MicrosoftTeams.schema.json,清单版本是 1.9
如果您需要我提供更多详细信息,请告诉我,感谢您的帮助!

【问题讨论】:

    标签: botframework chatbot microsoft-teams teams-toolkit


    【解决方案1】:

    我从未尝试过使用 contentBotId,因为我的标签页后面总是有 Web 内容,但作为备份,您可以考虑创建一个网页/SPA,它只是使用 javascript 库托管和呈现您的自适应卡。这是一个例子:https://docs.microsoft.com/en-us/adaptive-cards/sdk/rendering-cards/javascript/render-a-card

    【讨论】:

    • @SergeyAnisimov - 看起来像 InvokeActivity 这样的操作没有发生任何事件,并且机器人没有收到任何请求,这就是我们遇到此问题的原因。
    • @ChetanSharma-msft 是的,它没有在我的机器人中触发 OnInvokeActivity
    【解决方案2】:

    此错误修复正在进行中。我们没有确切的预计到达时间可以分享,但很快就会公开。

    【讨论】:

    • Microsoft Teams 最近更新了,它为我的应用引入了一个新问题。请看图片:imgur.com/a/rZBjkUH 我不知道我可以在哪里提出一个错误,所以请你在你的团队中提出它吗?我已经检查过了,Microsoft Teams 没有对我的应用程序提出任何请求,所以我可以避免它
    • 请注意,“访问此应用时出现问题”仅在个人应用面板中显示,并且在从聊天列表中打开与机器人的对话时不会显示
    • @SergeyAnisimov - 你的意思是说你的颠倒了:以前:1)当我试图从个人应用程序侧面板打开可用性选项卡时 - 一切都按预期工作:2)现在:跨度>
    • @SergeyAnisimov - 你的意思是说你的问题是相反的:以前:1)从个人应用程序侧面板打开可用性选项卡 - 一切都按预期工作:2)从与机器人聊天中打开相同的选项卡- MS Teams 现在显示错误:1) 从个人应用程序侧面板打开“可用性”选项卡 - MS Teams 显示错误 2) 从与 bot 聊天中打开相同的选项卡 - 一切正常这是正确的吗?
    • 不,我的意思是有一个新问题。当您从左窗格打开机器人应用程序时,MS Teams 会在半个屏幕中显示带有错误消息的聊天选项卡。请看截图:imgur.com/a/URAGPQr
    猜你喜欢
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    相关资源
    最近更新 更多