2017-06-06 139 views
2

我在使用bot框架REST API通過Skype通道發送附件時遇到了問題。Rest API附件錯誤

我能夠正確發送使用JSON消息相似圖片:

{ 
    "type":"message", 
    "timestamp":"2017-05-22T11:31:36.2281894Z", 
    "from":{ 
     "name":"MyBot" 
    }, 
    "recipient":{ 
     "id":"29:1-Dl1xMx6G2qGya5O5BgTZJhc0fUKOiQLctt74CmwJ3PVJNgkocpf3LY626py9UIO" 
    }, 
    "text":"It works!", 
    "attachments": [ 
     { 
      "contentType": "image/jpg", 
      "contentUrl": "https://g87a2173.ngrok.io/content/attachments/65f2be10-e61e-424e-9ea1-e05f1002fd19", 
      "name": "image.jpg" 
     } 
    ] 
} 

但是,如果我發送文件比其他圖像的任何內容類型我有一個錯誤。

例如,如果我送

{ 
    "type":"message", 
    "timestamp":"2017-05-22T11:31:36.2281894Z", 
    "from":{ 
     "name":"MyBot" 
    }, 
    "recipient":{ 
     "id":"29:1-Dl1xMx6G2qGya5O5BgTZJhc0fUKOiQLctt74CmwJ3PVJNgkocpf3LY626py9UIO" 
    }, 
    "text":"Not working!", 
    "attachments": [ 
     { 
      "contentType": "audio/wav", 
      "contentUrl": "https://g87a2173.ngrok.io/content/attachments/e58bcefa-7060-464f-96ee-78d2795ec80f", 
      "name": "audio.wav" 
     } 
    ] 
} 

我得到一個400錯誤

{ 
    "error": { 
     "code": "BadArgument", 
     "message": "Unknown attachment type" 
    } 
} 

用於這些測試剩下的終點是 https://smba.trafficmanager.net/apis/v3/conversations/29%3A1-Dl1xMx6G2qGya5O5BgTZJhc0fUKOiQLctt74CmwJ3PVJNgkocpf3LY626py9UIO/activities

API reference documentation指出

的附件可能是一個媒體文件(例如,音頻,視頻,圖像,文件)或 豐富的卡

所以我在哪裏錯了?

謝謝

回答

1

我試着用C#代碼相同,得到了相同的結論:在Skype通道,我們得到了一個Unknown attachment type例外這一點。 在仿真器和Slack上工作(獲得鏈接以下載wav文件)

必須存在通道限制是或錯誤。

反正你可以嘗試使用AudioCard:我測試了它(在C#代碼)和它的工作在Skype:

示例代碼瀏覽:https://github.com/Microsoft/BotBuilder-Samples/tree/master/CSharp/cards-RichCards

+0

同樣的錯誤。我試過幾個contentType。它似乎只接受'image *','video *'和各種'application/vnd.microsoft.card。*'。它可能是一個渠道限制? –

+0

我編輯我的答案更多的測試和可能的解決方案 –

+0

@FrancescoMariaMilizia是有用的? –