PHP Fatal error: Call to a member function getAttribute() on a non-object
PHP Fatal error: Call to a member function getAttribute() on a non-object
如果您能帮我找出我的代码有什么问题,我将不胜感激..
我正在尝试从特定的 YouTube 频道检索数据。
我要检索的数据是:总观看次数、订阅者和缩略图 url。
代码正确显示了总观看次数和订阅者,但缩略图代码不起作用。
我得到"Fatal error: Call to a member function getAttribute() on a non-object"
非常感谢您的宝贵时间和帮助,谢谢。
<?php
function GroupViews($username) {
$xdoc = new DomDocument;
$xdoc->Load('http://gdata.youtube.com/feeds/api/users/ArrolladoraLimonVEVO');
$ytStatistics = $xdoc->getElementsByTagName('statistics')->item(0);
$totalYouTubeViews = $ytStatistics->getAttribute('totalUploadViews');
return number_format($totalYouTubeViews);
}
?>
<?php echo GroupViews(0); ?>
<?php
function GetytSubscribers($username) {
$xdoc = new DomDocument;
$xdoc->Load('http://gdata.youtube.com/feeds/api/users/'.$username.'');
$ytStatistics = $xdoc->getElementsByTagName('statistics')->item(0);
$totalYouTubeSubscribers = $ytStatistics->getAttribute('subscriberCount');
return number_format($totalYouTubeSubscribers);
}
?>
<?php echo GetytSubscribers('ArrolladoraLimonVEVO'); ?>
<?php
function GetytThumbnail($username) {
$xdoc = new DomDocument;
$xdoc->Load('http://gdata.youtube.com/feeds/api/users/'.$username.'');
$ytThumbnail = $xdoc->getElementsByTagName('media$thumbnail')->item(0);
$thumbnail = $ytThumbnail->getAttribute('url');
return number_format($thumbnail);
}
?>
<?php echo GetytThumbnail('ArrolladoraLimonVEVO'); ?>
使用 URL 中的 XML 似乎更棘手。为什么不使用 JSON 格式?只需在 gdata.youtube url 上添加 '?alt=json'。这是您的功能之一的示例
function GetytThumbnail($username) {
$url = 'http://gdata.youtube.com/feeds/api/users/'.$username.'?alt=json';
$json = file_get_contents($url);
$obj = json_decode($json,true);
return $obj['entry']['media$thumbnail']['url'];
}
其他功能只需要修改return语句即可。希望对您有所帮助:)
如果您能帮我找出我的代码有什么问题,我将不胜感激.. 我正在尝试从特定的 YouTube 频道检索数据。 我要检索的数据是:总观看次数、订阅者和缩略图 url。
代码正确显示了总观看次数和订阅者,但缩略图代码不起作用。 我得到"Fatal error: Call to a member function getAttribute() on a non-object"
非常感谢您的宝贵时间和帮助,谢谢。
<?php
function GroupViews($username) {
$xdoc = new DomDocument;
$xdoc->Load('http://gdata.youtube.com/feeds/api/users/ArrolladoraLimonVEVO');
$ytStatistics = $xdoc->getElementsByTagName('statistics')->item(0);
$totalYouTubeViews = $ytStatistics->getAttribute('totalUploadViews');
return number_format($totalYouTubeViews);
}
?>
<?php echo GroupViews(0); ?>
<?php
function GetytSubscribers($username) {
$xdoc = new DomDocument;
$xdoc->Load('http://gdata.youtube.com/feeds/api/users/'.$username.'');
$ytStatistics = $xdoc->getElementsByTagName('statistics')->item(0);
$totalYouTubeSubscribers = $ytStatistics->getAttribute('subscriberCount');
return number_format($totalYouTubeSubscribers);
}
?>
<?php echo GetytSubscribers('ArrolladoraLimonVEVO'); ?>
<?php
function GetytThumbnail($username) {
$xdoc = new DomDocument;
$xdoc->Load('http://gdata.youtube.com/feeds/api/users/'.$username.'');
$ytThumbnail = $xdoc->getElementsByTagName('media$thumbnail')->item(0);
$thumbnail = $ytThumbnail->getAttribute('url');
return number_format($thumbnail);
}
?>
<?php echo GetytThumbnail('ArrolladoraLimonVEVO'); ?>
使用 URL 中的 XML 似乎更棘手。为什么不使用 JSON 格式?只需在 gdata.youtube url 上添加 '?alt=json'。这是您的功能之一的示例
function GetytThumbnail($username) {
$url = 'http://gdata.youtube.com/feeds/api/users/'.$username.'?alt=json';
$json = file_get_contents($url);
$obj = json_decode($json,true);
return $obj['entry']['media$thumbnail']['url'];
}
其他功能只需要修改return语句即可。希望对您有所帮助:)