通过 PHP 中的 JSON API 获取 Youtube 订阅者数量

Posted

技术标签:

【中文标题】通过 PHP 中的 JSON API 获取 Youtube 订阅者数量【英文标题】:fetch Youtube subscribers count by JSON API in PHP 【发布时间】:2013-02-16 04:03:51 【问题描述】:

我想从此 JSON 文件中获取订阅者计数值:http://gdata.youtube.com/feeds/api/users/googlechrome?v=2&alt=json

这是我做的,但它不起作用。

$youtube_url = json_decode( file_get_contents( 'http://gdata.youtube.com/feeds/api/users/googlechrome?v=2&alt=json' ), true );
$youtube_data = $youtube_url['entry']['yt$statistics']['subscriberCount'];

【问题讨论】:

这对我来说很好用。你能描述一下实际上什么不起作用吗? 我知道它应该可以正常工作。但至少对我来说不是。也许它不适用于我整个脚本中的其他一些代码。无论如何,我想出了另一种方法来做到这一点。我会在下面回答。谢谢 【参考方案1】:

我只是将 JSON 方法更改为 XML,一切正常。我写的问题对@Matt Koskela 很有用,但对我没有用。无论如何,我会用这种方法进行尝试,但我真的很想知道 JSON 方法的问题。

$youtube_url = file_get_contents( 'http://gdata.youtube.com/feeds/api/users/googlechrome'; 
$youtube_url = str_replace( 'yt:', 'yt', $youtube_url ); 
$youtube_data = $youtube_url->ytstatistics['subscriberCount'];

【讨论】:

您可以添加新的获取方式吗?因为 API v3 不再提供此功能, @Harsha 看到这个帖子***.com/questions/30723866/…【参考方案2】:

php 代码:

function get_yt_subs($username)  

$xmlData = file_get_contents('http://gdata.youtube.com/feeds/api/users/' . strtolower($username)); 
$xmlData = str_replace('yt:', 'yt', $xmlData); 

$xml = new SimpleXMLElement($xmlData); 

$subs = $xml->ytstatistics['subscriberCount']; 

return($subs); 

  

使用示例: PHP代码:

get_yt_subs('3moeslam')

【讨论】:

这已被弃用... :(

以上是关于通过 PHP 中的 JSON API 获取 Youtube 订阅者数量的主要内容,如果未能解决你的问题,请参考以下文章

PHP通过Zabbix API获取服务器监控信息

如何从 PHP 中获取远程 JSON 或 XML API 数据并将返回对象分配为 PHP 变量?

通过zabbix的API接口获取服务器列表

PHP 中的 REST API 输出到 JSON 文件扩展名

使用 PHP 从 API 获取 json

php获得api返回的json数据后,如何解析?