簡體   English   中英

無法將Bot的pdf文件發送給ms團隊中的用戶

[英]Unable to send pdf file from bot to user in ms teams

NodeJS BotBuilder SDK版本:3.15.0我的代碼:

var pdf = {
  name: '<file_name>.pdf',
  contentType: 'application/pdf',
  contentUrl: '<https url to public pdf file>'
};
var reply = new builder.Message(session).addAttachment(pdf);
session.send(reply);

在一些在線示例中,此代碼是相同的。 我的問題是我總是會出錯:

Error: POST to 'https://smba.trafficmanager.net/emea/v3/conversations/a%3A1TwHmhoGuZP2Mf9P0TTnjv8HkcaXzEHryv0sYCvDDUI-qrMitJtHRlAnIcedcDH_v3IfMBXtg_zo5MDVcS0-8hDCQ4sJzpJhrewBPK8uWJXYeShgmd-s7uh5o8kW4ebAP/activities/1543588440246' failed: [400] Bad Request

對於image / png,此代碼可以正常工作。

我想要實現的是:(圖像取自Bot Framework Emulator)從Bot 發送給用戶的Web文件

該文件是從bot發送的,而沒有將其上傳到用戶的一個驅動器。 當我在https://dev.botframework.com/bots的“測試”部分中測試功能時,此功能也有效。 它僅在ms團隊中不起作用。

每個通道的發送文件行為可能有所不同。 Microsoft Teams不像WebChat / Emulator那樣支持直接上載方法。 正如Bill Bliss所說 ,這是出於合規性原因。

您可以使用用於OneDrive和SharePoint的Microsoft Graph API張貼帶有引用現有SharePoint文件的帶有卡附件的郵件。 使用Graph API需要通過標准的OAuth2授權流程訪問用戶的OneDrive文件夾(用於個人和小組聊天文件)或團隊渠道中的文件(用於渠道文件)。 此方法適用於所有Teams上下文。

查看通過您的機器人發送和接收文件,以獲取完整的文檔以及如何實現。


另一種選擇是使用AdaptiveCard,您可以在其中使用文檔的圖像縮略圖和按鈕來直接從公共可訪問URL下載PDF文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM