ArtDenis
@ArtDenis
Разработчик сайтов и мобильных приложений

Как исправить ошибку при получении данных от api Youtube?

Здравствуйте, есть вот такая функция:

public static function getYoutubeSubscribers($username) {
        $username = trim($username);
        if (!$username)
            return 0;

        $link = 'http://gdata.youtube.com/feeds/api/users/' . strtolower($username); 
        $info = self::curlGetContent($link); 
        $xmlData = str_replace('yt:', 'yt', $info); 
        $xml = new SimpleXMLElement($xmlData); 
        $subs = $xml->ytstatistics['subscriberCount']; 
        return($subs);
    }


Функция в шаблоне Joomla. На строке $xml = new SimpleXMLElement($xmlData); выдает ошибку:
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in D:\OpenServer\domains\localhost\buh.tv\templates\it_premiere\icetools\icetool.php:219 Stack trace: #0 D:\OpenServer\domains\localhost\buh.tv\templates\it_premiere\icetools\icetool.php(219): SimpleXMLElement->__construct('No longer avail...') #1 D:\OpenServer\domains\localhost\buh.tv\templates\it_premiere\icetools\layout_vars.php(44): iceTool::getYoutubeSubscribers('icetheme') #2 D:\OpenServer\domains\localhost\buh.tv\templates\it_premiere\index.php(29): require_once('D:\OpenServer\d...') #3 D:\OpenServer\domains\localhost\buh.tv\libraries\joomla\document\html\html.php(531): require('D:\OpenServer\d...') #4 D:\OpenServer\domains\localhost\buh.tv\libraries\joomla\document\html\html.php(591): JDocumentHTML->_loadTemplate('D:\OpenServer\d...', 'index.php') #5 D:\OpenServer\domains\localhost\buh.tv\libraries\joomla\document\html\html.php(414): JDocumentHTML->_fetchTemplate(Array) #6 D:\OpenServer\domains\localhost\buh.tv\includes\application.php(259): JDocumentHTML->parse(Array) #7 D:\OpenServer\domains\localhost\buh.tv\index.php(48): JSite->render() #8 {main} thrown in D:\OpenServer\domains\localhost\buh.tv\templates\it_premiere\icetools\icetool.php on line 219


Из-за чего это может быть и как это решить?
Имеются подозрения в сторону аутентификации Youtube, может ли быть?
  • Вопрос задан
  • 652 просмотра
Пригласить эксперта
Ответы на вопрос 2
@frees2
ЭТО СТАРОЕ АПИ, ОНО УЖЕ НЕ РАБОТАЕТ.
Пример как получать v3 апи.
www.dulsky.eu/v

В мануалах гугла все расписано.
Ответ написан
Комментировать
@Remdev
Выбрасывается исключение, которое не ловится.
В try ... catch всё оберни.
p.s. исключение из-за того, что данные разобрать не может.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы