it-swarm.com.ru

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

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

9
user3776662

Вы также можете отправить по 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"
9
mustafaturan

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

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

5
stcorbett

Вы можете отправить видео размером <= 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"
0
faithonour

Я нашел временное решение (срок действия видео может истечь). Попробуйте этот сайт: 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"
0
GameBoy