因此,我试图弄清楚如何制作一个程序来查看 YouTube 帐户是否上传了新视频。
我正在考虑让一台虚拟 PC 在 PHP 中执行此操作,并每 2 分钟自动刷新一次页面,如果标题已更改,则它将数据保存在数据库中并发送电子邮件。
如果有人有解决方案或更好的方法,请分享。
因此,我试图弄清楚如何制作一个程序来查看 YouTube 帐户是否上传了新视频。
我正在考虑让一台虚拟 PC 在 PHP 中执行此操作,并每 2 分钟自动刷新一次页面,如果标题已更改,则它将数据保存在数据库中并发送电子邮件。
如果有人有解决方案或更好的方法,请分享。
除了使用 API 方法之外,您还可以使用 PHP 解析频道的 RSS 提要。我对 RSS 提要做了类似的事情,使用 wget 检索提要,使用 XLST 格式化结果并通过 cron 运行它。
我相信您可以通过 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]);
订阅频道,然后在订阅设置中单击“包含新上传内容的电子邮件”。将该电子邮件发送到您服务器上的脚本,该脚本可以以您希望的任何方式通知您。
或者
使用此 API 方法https://developers.google.com/youtube/v3/docs/activities/list并解析新上传的结果。