此問題不是重複的。我的問題沒有顯示錯誤的數據部分,因爲它在標記的文章中,但作爲一個細心的用戶反映,「您的問題中的具體問題是,您使用的URL只檢索實際的視頻,而不是包含視頻。」無法從YouTube視頻對象獲取視頻標題
我需要得到一個YouTube視頻的標題爲Magento的網上商店。我的代碼是正確的,現在以下幾點:
$videocode = $_helper->productAttribute($_product, $_data['value'], $_data['code']);
$url = "http://www.youtube.com/v/".$videocode."?hl=en_US&version=3";
echo $url;
$videoTitle = file_get_contents($url);
try {
if ($videoTitle) {
preg_match("/<title>(.+?)<\/title>/is", $videoTitle, $titleOfVideo);
echo $titleOfVideo[1];
} else {
return false;
}
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
的echo $url;
返回正確的視頻網址。
但事後,如果我嘗試的var_dump的$ videoTitle,它返回像CWS[%xڍZ[{�Fzƀ�@�:Ҷ��v"�uh �H�(E�9����ή� $1=�馧m�=nϽko�z������$��M��_l�oR�lﳶ�����~�� �C)��4��4ʤ[SI�nM�"�.��b�yB��ᵵ��5�u�8�\�
,我指的是一羣人。 但它不會返回false。
爲$ titleOfVideo返回array(0) { }
。 否則,如果我不嘗試回顯或var_dump任何東西,它不會爲我回饋任何東西。 我在這裏錯過了什麼?
被引導,使經過一番研究,我的代碼看起來如下:
$videocode = $_helper->productAttribute($_product, $_data['value'], $_data['code']);
$videocode = explode('&feature=youtu.be', $videocode);
$url = "https://www.googleapis.com/youtube/v3/videos?part=snippet&id=".$videocode[0]."&key=".$apikey;
echo $url;
$json = file_get_contents($url);
var_dump($json); //bool(false)
$json_data = json_decode($json, true);
if ($json_data) {
print_r($json_data);
} else {
return false;
}
的視頻ID是正確的。但我的$json
返回false
。我還想念什麼?
可能的[使用YouTube API檢索並顯示YouTube視頻說明,標題使用id](http://stackoverflow.com/questions/34022332/retrieve-and-display-youtube-video-description-title-by -its-id-using-youtube-ap) – NineBerry
使用官方API而不是試圖從實況網站讀取元數據。你的問題中的具體問題是你使用的URL只能檢索實際的視頻,而不是包含視頻的頁面。 – NineBerry
@NineBerry在YouTube API工作之後看了一下後,我斷定,如果'$ videocode'是我關於視頻的唯一細節,那麼執行所需操作是不夠的。我對嗎? – sklrboy