使用Teams Toolkit调试聊天机器人遇botFramework/create错误求助
问题分析与解决方案
问题原因
管理员创建的Azure Bot已将对应Microsoft App ID完成注册关联,而Teams Toolkit调试时执行botFramework/create操作,尝试用同一App ID重复创建Bot实例,触发API返回400错误:"The Microsoft App ID is already registered to another bot application"。
完整错误日志
[2024-03-18T16:01:27.760Z] [Error] - 无法执行操作botFramework/create。错误信息:调用Developer Portal的API失败。请查看输出面板获取详细信息。 [2024-03-18T16:01:27.761Z] [Error] - 因botFramework/create操作失败,导致生命周期预配执行失败。DeveloperPortalAPIFailedError:调用Developer Portal的API失败:AxiosError,请求失败,状态码400,API名称:create-bot,X-Correlation-ID: da4247d6-190d-445a-a624-2d3d910f7091。这可能是间歇性服务错误,请等待几分钟后重试当前步骤。数据:"The Microsoft App ID is already registered to another bot application."。环境输出:{"TEAMS_APP_ID":"**","TEAMS_APP_TENANT_ID":"**","BOT_ID":"**","SECRET_BOT_PASSWORD":"******"} [2024-03-18T16:01:27.762Z] [Info] - 执行摘要: 摘要: (×) 错误:生命周期阶段预配失败。 (√) 完成:teamsApp/create执行成功。 (√) Done: Teams app with id *** already exists, skipped creating a new Teams app. (√) 完成:botAadApp/create执行成功。 (√) Done: Used existing Microsoft Entra application with client id 1294e29c-cc99-4ac5-adb8-a3c8145a64e7. (×) 错误:botFramework/create失败。 (×) Error: API call to Developer Portal failed: AxiosError, Request failed with status code 400, API name: create-bot, X-Correlation-ID: da4247d6-190d-445a-a624-2d3d910f7091. This may come from some intermittent service error. Please wait for a few minutes and retry the current step. data: "The Microsoft App ID is already registered to another bot application." (!) 警告:teamsApp/validateManifest未执行。 (!) 警告:teamsApp/zipAppPackage未执行。 (!) 警告:teamsApp/validateAppPackage未执行。 (!) 警告:teamsApp/update未执行。 [2024-03-18T16:01:28.086Z] [Error] - code:AppStudioPlugin.DeveloperPortalAPIFailedError, message: 调用Developer Portal的API失败:AxiosError,请求失败,状态码400,API名称:create-bot,X-Correlation-ID: da4247d6-190d-445a-a624-2d3d910f7091。这可能是间歇性服务错误,请等待几分钟后重试当前步骤。数据:"The Microsoft App ID is already registered to another bot application." 或者,你可以选择'Debug in Test Tool'选项跳过此步骤。
解决方法
方法一:配置Teams Toolkit跳过Bot创建步骤
- 打开项目内的
.fx/configs/config.local.json文件 - 在
bot配置节点中添加"skipCreateBot": true,示例:"bot": { "botId": "<你的BOT_ID>", "skipCreateBot": true } - 确认
env.local和env.local.user中的BOT_ID、SECRET_BOT_PASSWORD与管理员创建的Azure Bot信息完全匹配 - 重新启动调试
方法二:在Teams Developer Portal关联已有Bot
- 打开Teams Developer Portal,找到调试时提示已存在的Teams应用
- 进入应用的Bot配置页面,选择关联现有Bot
- 输入管理员创建的Azure Bot的App ID,完成关联
- 返回Teams Toolkit重新启动调试
方法三:临时跳过预配步骤
直接选择调试选项中的Debug in Test Tool,绕过预配流程,直接在测试工具中调试Bot功能
内容的提问来源于stack exchange,提问作者Nicolas -
相关产品推荐
相关产品推荐

