2017-03-29 2 views
0

Ich möchte Medien von einer Website abrufen. Dieses Medium sollte so etwas wie Karussell-Kartenvorlage aufgelistet werden.Kanaldateneigenschaften: Karussell?

Mit Schleife Ich möchte alle Medien in einem Objekt speichern.

Lassen Sie sich diese:

resultMessage.AttachmentLayout = AttachmentLayoutTypes.Carousel; 
       resultMessage.Attachments = new List<Attachment>(); 
       var fbObject = new object[activities.Count]; 
    while (!stop) 
    { 
    if (activities[counter].MediaTypeValue != (int)MediaTypeEnum.Video) 
         { 
          fbObject[counter] = new 
          { 
           type = "image", 
           payload = new object[] 
           { 
             new 
             { 
              url = activities[counter].DocumentPath 
             }, 
           } 
          }; 
         } 
         else 
         { 
          fbObject[counter] = new 
          { 
           type = "video", 
           buttons = new object[] 
           { 
             new 
             { 
              type = "web_url", 
              url = activities[counter].DocumentPath, 
              title = activities[counter].FirstName + " " + activities[counter].LastName + " posted " + BotHelper.UserPosted(activities[counter].MediaTypeValue), 
              webview_height_ratio = "compact", 
              messenger_extensions = true 
             } 
           } 
          }; 
         } 
    counter--; 
        if (counter < 0) 
         stop = true; 

    } 


resultMessage.ChannelData = JObject.FromObject(new { fbObject }); ; 
       await context.PostAsync(resultMessage); 

Aber Facebook Messenger nicht machen es nicht als "Karussell".

Haben Sie eine Idee, wie ein Objekt wie Karusselltyp der Karte angezeigt werden?

Antwort

1

Facebook wird das Karussell rendern, wenn Sie Anhänge in Ihrer Nachricht haben. Ihre Anhangsammlung ist leer und Sie senden Kanaldateninformationen, die nicht als Karussell gerendert werden.

Sowohl Bild und Video sind Anhänge unterstützt in BotFramework und Sie können einfach die verfügbaren Rich-Karten anstelle der Verwendung von Kanaldaten, um sie an den Benutzer senden.

Werfen Sie einen Blick auf die RichCards sample, um zu verstehen, wie Sie jede der unterstützten Karten erstellen. Vielleicht möchten Sie auch die Carousel sample überprüfen.

Schließlich ist es immer eine gute Idee, die Dokumentation zu Anlagen und Rich-Karten zu überprüfen. Siehe this und this.