2016-07-03 30 views
8

Zastanawiam się, czy możliwe jest wysłanie przez bot wiadomości z linkiem wideo youtube i wygenerowanie odtwarzanego wideo wewnątrz komunikatora w taki sam sposób, jak możesz wklej link wewnątrz komunikatora. Teraz mój bot może wysłać wiadomość z linkiem youtube, ale po prostu wysyła go jako tekst, który nie generuje wideo rozpoznającego tytuł, opis itp. Każda pomoc byłaby doceniana.Jak mam bot wysłany przez facebooka wyślę Ci wideo z youtube osadzone w komunikatorze

+0

myślę, że to musiałby być w stanie youtube odnośnik jak bot wysyła który to robi automatycznie z użytkownikami „analizować” :(nie ma sposobu, aby to zrobić teraz – user151496

Odpowiedz

5

Począwszy od 7/1/2016, nowy API docs zezwala na przesyłanie wiadomości wideo, zakładając, że masz URL rzeczywistego pliku MP4. W przypadku filmu na youtube adres ten (celowo) nie jest łatwy do uzyskania. Istnieje kilka narzędzi, takich jak youtube-dl, które dostaną adres URL pliku z serwisu YouTube i będzie można użyć tego adresu URL z wiadomością wideo na Facebooku. Ta konfiguracja zakłada oczywiście, że Facebook nie blokuje żadnych linków wideo na youtube.

Innym podejściem byłoby zbudowanie własnego combo miniatury/wideo link wiadomość za pomocą "generic template" facebook message.

+0

podejście Combo wydaje się dobre, ponieważ jest łatwy aby uzyskać miniaturki (zobacz http://stackoverflow.com/questions/2068344/how-do-i-geta-a-youtube-video-thumbnail-z-nazwa-api), po prostu naciśnij przycisk Odtwórz, który łączy na wideo –

+0

Możesz również użyć czegoś takiego (https://github.com/halgatewood/youtube-thumbnail-enhancer), aby dodać ikonę odtwarzania na wierzchu miniatury wideo. –

+0

Wywołanie wideo z YouTube za pomocą bezpośredniego łącza mp4 jest bardzo powolny. Czy to możliwe, że Facebook pobiera ten film całkowicie przed jego odtworzeniem? – Marc

8

Możesz również wysłać przez OpenGraph. Będzie on automatycznie wyświetlić wideo wewnątrz okna m.me czatu ale w mobilnej aplikacji na iOS, obecnie przekierowuje do strony YouTube:

curl -X POST -H "Content-Type: application/json" -d '{ 
    "recipient":{ 
    "id":"USER_ID" 
    }, 
    "message":{ 
    "attachment":{ 
     "type":"template", 
     "payload":{ 
     "template_type":"open_graph", 
     "elements":[ 
      { 
      "url":"https://www.youtube.com/watch?v=y9A1MEbgLyA"  
      } 
     ] 
     } 
    } 
    } 
}' "https://graph.facebook.com/v2.6/me/messages?access_token=$TOKEN" 
+0

https: // developer s.facebook.com/docs/messenger-platform/open-graph-template To jest poprawna odpowiedź. – baquiax

0

znalazłem rozwiązanie tymczasowe (filmy mogą wygasnąć). Wypróbuj tę stronę: http://catchvideo.net/. Dostaniesz link do gry, którego możesz użyć, by wysłać posłańca jako załącznik. Mam nadzieję że to pomoże!

curl -X POST -H "Content-Type: application/json" -d '{ 
    "recipient":{ 
    "id":"USER_ID" 
    }, 
    "message":{ 
    "attachment":{ 
     "type":"video", 
     "payload":{ 
     "url":"THE_LINK_FROM_WEBSITE_ABOVE" (example: https://redirector.googlevideo.com/videoplayback?itag=18.....) 
     } 
    } 
    } 
}' "https://graph.facebook.com/v2.6/me/messages?access_token=ACCESS_TOKEN" 
0

Możesz wysłać wideo o rozmiarze < = 30MB z następującym kodem.

curl -X POST -H "Content-Type: application/json" -d '{ 
    "recipient":{ 
    "id":"USER_ID" 
    }, 
    "message":{ 
    "attachment":{ 
     "type":"video", 
     "payload":{ 
     "url":"direct_url_to_video", 
     "is_reusable":true 
     } 
    } 
    } 
}' "https://graph.facebook.com/v2.6/me/messages?access_token=ACCESS_TOKEN" 

Po tym, powyższe polecenie zwróci „attachment_id” wideo Od teraz można wysyłać wideo z attachment_id i nigdy nie wygaśnie.

curl -X POST -H "Content-Type: application/json" -d '{ 
    "recipient":{ 
    "id":"USER_ID" 
    }, 
    "message":{ 
    "attachment":{ 
     "type":"video", 
     "payload":{ 
     "attachment_id": "<attachment_id_here" 
     } 
    } 
    } 
}' "https://graph.facebook.com/v2.6/me/messages?access_token=ACCESS_TOKEN"