【问题标题】:Notification when someone uploads a video有人上传视频时的通知
【发布时间】:2023-03-13 22:41:02
【问题描述】:

所以我想弄清楚如何制作一个可以查看 YouTube 帐户是否上传新视频的程序。

我正在考虑让一台虚拟 PC 在 PHP 中执行此操作,并每 2 分钟自动刷新一次页面,如果标题已更改,则它将数据保存在数据库中并发送电子邮件。

如果有人有解决方案或更好的方法,请分享。

【问题讨论】:

  • 嗯...你为什么要重新发明轮子? Youtube 对每个频道都有自己的订阅功能
  • 这是因为我正在制作一个 Youtube 应用程序并且我想发送推送通知。我不知道我为什么说电子邮件,哈哈
  • 您可以通过 YouTube Data API (v3) Subscribe to Push Notifications

标签: php mysql youtube youtube-api save


【解决方案1】:

订阅频道,然后在订阅设置中单击“通过电子邮件发送新上传内容”。将该电子邮件发送到您服务器上的脚本,该脚本可以以您希望的任何方式通知您。

或

使用此 API 方法 https://developers.google.com/youtube/v3/docs/activities/list 并解析新上传的结果。

【讨论】:

  • 我想过,但我不需要在 PHP 中这样做并让页面刷新并检查是否有新的上传正确吗?
【解决方案2】:

除了使用 API 方法之外,您还可以使用 PHP 解析频道的 RSS 提要。我对 RSS 提要做了类似的事情,使用 wget 检索提要,使用 XLST 格式化结果并通过 cron 运行。

【讨论】:

  • 我喜欢这个,很好的答案,而且很容易在 PHP 中实现。
【解决方案3】:

我相信您可以通过 Youtube API 访问它,例如,您应该能够访问用户通过以下方式完成的最新上传:

http://gdata.youtube.com/feeds/api/users/[USER-ID]/uploads?max-results=1

例如

http://gdata.youtube.com/feeds/api/users/askhodgetwins/uploads?max-results=1

检索该用户最近上传的内容。解析视频 ID 并与您已记录的其他 ID 进行比较。

根据评论编辑

@IamGretar 我建议阅读有关 PHP DOMDocument -> loadXML/loadHTML 类的内容,以便以一种体面的方式解决此问题,这是一种粗略且相当讨厌的方式。这应该让您了解您要完成的工作,但是我正在使用它来演示原理,并且不建议将其用于其他任何事情:

$youtube_user_URL = 'http://gdata.youtube.com/feeds/api/users/askhodgetwins/uploads?max-results=1';
$html = file_get_contents($youtube_user_URL);

$pattern = "/<title ?.*>(.*)<\/title>/";
preg_match($pattern, $html, $matches);

print_r($matches[1]);

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-14
  • 2017-03-08
  • 1970-01-01
  • 2021-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多