Youtube PubSubHubBub 集成

Posted

技术标签:

【中文标题】Youtube PubSubHubBub 集成【英文标题】:Youtube PubSubHubBub Integration 【发布时间】:2019-01-28 16:51:12 【问题描述】:

已经被这个集成问题困扰了好几个小时了。我正在尝试使用订阅 youtube 频道更新 https://pubsubhubbub.appspot.com/subscribe.

我的服务器设置为响应:

但是当我按 DO IT 时,我总是会收到错误提示 Challenge mismatch。

我不确定要设置哪个参数。

【问题讨论】:

【参考方案1】:

预期的响应不是 hub_challenge 那样的静态值。当GET 请求被发送到回调 url 时,它应该返回在查询参数中接收到的 hub.challenge 值。

更多信息

请求将类似于 /notifications?hub.topic=https://www.youtube.com/xml/feeds/videos.xml%3Fchannel_id%3DUCn0QU5ZOaVnEf7LkdyPF9kQ&hub.challenge=216582865281647747&hub.mode=subscribe&hub.lease_seconds=432000"

的响应应该是值 hub.challenge (216582865281647747)

【讨论】:

如果有人用 php 做这个,请记住 hub.challenge 必须作为 hub_challenge 访问源:***.com/a/68742/3899623【参考方案2】:

假设您正在使用(直接或间接)https://www.npmjs.com/package/body-parser,您可以执行以下操作:

const responseText = request.query['hub.challenge'] || "no challenge" response.send(responseText)

但即使不是那种精确的语法,也要弄清楚如何记录集线器在点击回调 URL 时添加的查询参数。在那里您将看到“hub.challenge”的值,然后您可以在响应中发回该值。

【讨论】:

以上是关于Youtube PubSubHubBub 集成的主要内容,如果未能解决你的问题,请参考以下文章

使用 Superfeedr PubSubHubbub 订阅生成错误 hub.topic 未找到

收听 Youtube 上传事件 Java

使用AWS Lambda接收youtube推送通知

PHP Pubsubhubbub 服务器

NodeJs 的 Pubsubhubbub 库

YouTube 播放列表下载