我用我的嵌入式 Web 视图任务模块中的一些数据调用 microsoftTeams.tasks.submitTask(),如下所示:
var fsObj = {};
fsObj.name = "give me a file";
microsoftTeams.tasks.submitTask(fsObj);
这然后到达我的机器人和数据并调用 onTeamsMessagingExtensionSubmitAction 事件,我是这样处理的:
@Override
protected CompletableFuture<MessagingExtensionActionResponse> onTeamsMessagingExtensionSubmitAction(TurnContext turnContext, MessagingExtensionAction action) {
File filePath = new File("files", "10840-002.pdf");
String filename = filePath.getName();
long filesize = filePath.length();
Map<String, String> consentContext = new HashMap<>();
consentContext.put("filename", filename);
FileConsentCard fileCard = new FileConsentCard();
fileCard.setDescription("Here is a file...");
fileCard.setSizeInBytes(filesize);
fileCard.setAcceptContext(consentContext);
fileCard.setDeclineContext(consentContext);
MessagingExtensionAttachment asAttachment = new MessagingExtensionAttachment();
asAttachment.setContent(fileCard);
asAttachment.setContentType(FileConsentCard.CONTENT_TYPE);
asAttachment.setName(filename);
MessagingExtensionResult msgExtRes = new MessagingExtensionResult();
msgExtRes.setType("result");
msgExtRes.setAttachmentLayout("list");
msgExtRes.setAttachment(asAttachment);
MessagingExtensionActionResponse actionResponse = new MessagingExtensionActionResponse();
actionResponse.setComposeExtension(msgExtRes);
return CompletableFuture.completedFuture(actionResponse);
}
此代码运行,然后我的嵌入式 Web 视图任务模块关闭,但我没有在聊天中看到文件同意消息。
我已经成功复制了这个文件上传机器人示例,当我直接与我的机器人对话时,我可以通过它获取文件。
是否可以使用 FileConsentCard 响应在我的嵌入式 Web 视图中调用的提交操作?如果是这样,我的回复中缺少什么?