Как сделать так, чтобы бот facebook messenger отправил вам видео YouTube, встроенное в мессенджер

Мне было интересно, возможно ли, чтобы бот-мессенджер отправил вам ссылку на видео на YouTube и сгенерировал воспроизводимое видео внутри мессенджера так же, как вы можете, если вставите ссылку внутри мессенджера. Прямо сейчас мой бот может отправить сообщение со ссылкой на YouTube, но он просто отправляет его в виде текста, он не создает видео, распознающее заголовок, описание и т. д. Буду признателен за любую помощь.


person user3776662    schedule 03.07.2016    source источник
comment
я предполагаю, что это должно было бы иметь возможность анализировать ссылку на YouTube, как бот отправляет, что он делает автоматически с пользователями :( сейчас нет способа сделать это   -  person user151496    schedule 14.11.2016


Ответы (4)


Вы также можете отправить через OpenGraph. Он будет автоматически отображать видео в окне чата m.me, но в мобильном приложении iOS в настоящее время он перенаправляет на страницу 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"
person mustafaturan    schedule 04.06.2017
comment
developers.facebook.com/docs/messenger-platform/ Это правильный ответ. - person baquiax; 13.07.2017
comment
Как использовать это внутри Dialogflow? - person Shajeel Afzal; 14.03.2021
comment
Шаблон Open Graph устарел, начиная с версии 4.0 (2019 г.). Как мы можем это сделать сейчас? - person kio21; 31.05.2021

По состоянию на 01.07.2016 новая документация по API разрешить видеосообщения, если у вас есть URL-адрес фактического файла mp4. Для видео на YouTube этот URL-адрес (намеренно) нелегко получить. Есть некоторые инструменты, такие как youtube-dl, которые получают URL-адрес файла с YouTube, и можно было бы использовать этот URL-адрес с видеосообщением facebook. Эта настройка, конечно, предполагает, что Facebook не блокирует ссылки на видео с YouTube.

Другим подходом может быть создание собственного комбинированного сообщения со ссылкой на миниатюру/видео с использованием "общее шаблонное" сообщение facebook.

person stcorbett    schedule 09.07.2016
comment
Комбинированный подход кажется хорошим, так как легко получить миниатюры (см. -youtube-api" title="как получить миниатюру видео YouTube из API YouTube"> stackoverflow.com/questions/2068344/), а затем просто нажмите кнопку «Воспроизвести», которая ссылается на видео - person Metablocks Corp; 01.08.2016
comment
Вы также можете использовать что-то вроде этого (github.com/halgatewood/youtube-thumbnail-enhancer), чтобы добавить значок воспроизведения поверх миниатюры видео. - person Metablocks Corp; 01.08.2016
comment
Вызов видео с YouTube по прямой ссылке mp4 происходит очень медленно. Может ли быть так, что Facebook полностью загружает это видео, прежде чем воспроизвести его? - person Marc; 15.05.2017

Вы можете отправить видео размером ‹= 30 МБ со следующим кодом.

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"

После этого приведенная выше команда вернет «attachment_id» видео. С этого момента вы можете отправлять видео с attachment_id и никогда не истечет.

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"
person faithonour    schedule 25.10.2017

Я нашел временное решение (видео может истечь). Попробуйте этот сайт: http://catchvideo.net/. Это даст вам воспроизводимую ссылку на видео, которую вы можете использовать для отправки бота в мессенджере в качестве вложения. Надеюсь это поможет!

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"
person GameBoy    schedule 17.06.2017