2017-06-06 4 views
2

Ich habe Probleme beim Senden von Anlagen über einen Skype-Kanal mit dem Bot-Framework REST API.Rest API Anhang Fehler

Ich bin in der Lage einer json Meldung wie diese richtig Bilder senden mit:

{ 
    "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" 
     } 
    ] 
} 

Aber wenn ich Dateien mit beliebigem Inhalt anderem Typ als Bild senden habe ich einen Fehler.

Zum Beispiel, wenn ich senden

{ 
    "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" 
     } 
    ] 
} 

Ich erhalte einen 400-Fehler

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

Der Rest Endpunkt für diese Tests verwendet wird, ist https://smba.trafficmanager.net/apis/v3/conversations/29%3A1-Dl1xMx6G2qGya5O5BgTZJhc0fUKOiQLctt74CmwJ3PVJNgkocpf3LY626py9UIO/activities

Die API reference documentation besagt, dass

Eine Anlage kann

so wo bin ich falsch, eine Mediendatei (zum Beispiel Audio, Video, Bild, Datei) oder eine reiche Karte sein?

Danke

Antwort

1

habe ich versucht, das gleiche mit C# -Code und bekam den gleichen Schluss: auf Skype-Kanal, wir haben eine Unknown attachment type Ausnahme für diesen. Arbeiten mit Emulator und Slack (hat einen Link zum Herunterladen der WAV-Datei)

Es muss eine Kanalbeschränkung ja oder ein Fehler sein.

Auf jeden Fall können Sie versuchen, AudioCard zu verwenden: Ich habe es getestet (in C# -Code) und es funktioniert auf Skype:

Beispielcode hier: https://github.com/Microsoft/BotBuilder-Samples/tree/master/CSharp/cards-RichCards

+0

gleichen Fehler. Ich habe mehrere contentType ausprobiert. Es scheint nur 'image *', 'video *' und die verschiedenen 'application/vnd.microsoft.card. *' Zu akzeptieren. Könnte es eine Kanalbeschränkung sein? –

+0

Ich bearbeitete meine Antwort mit mehr Tests und einer möglichen Lösung –

+0

@FrancescoMariaMilizia war das nützlich? –