带有 Java SDK 的 Teams Bot 响应来自嵌入式 Web 视图的带有 FileConsentCard 的 onTeamsMessagingExtensionSubmitAction

问题描述 投票:0回答:0

我用我的嵌入式 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 视图中调用的提交操作?如果是这样,我的回复中缺少什么?

java botframework microsoft-teams microsoft-teams-js
© www.soinside.com 2019 - 2024. All rights reserved.