【发布时间】:2014-06-22 18:25:00
【问题描述】:
我使用以下代码首先从我的 Youtube API 获取视频 ID,然后使用 Youtube Media APi 在我的页面上加载媒体播放器:
var qval = <?php echo "'{$name}'" ;?>;
googleApiClientReady = function() {
gapi.auth.init(function() {
window.setTimeout(loadAPIClientInterfaces, 1);
});
}
function loadAPIClientInterfaces() {
gapi.client.load('youtube', 'v3', searchData);
}
function searchData() {
var request = gapi.client.youtube.search.list({
key : "My_app_ID",
q : qval,
part : 'snippet',
maxResults : 5
});
request.execute(function(response) {
console.log(response);
console.log(response['items'][1]['id']['videoId']);
onYouTubeIframeAPIReady(response['items'][1]['id']['videoId']);
});
}
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
function onYouTubeIframeAPIReady(vid) {
var newDiv = document.createElement('div');
newDiv.setAttribute('id','newDiv');
var prev = document.getElementById('player');
prev.appendChild(newDiv);
console.log(vid);
player = new YT.Player('newDiv', {
height: '390',
width: '640',
videoId : vid
});
}
即使在函数 onYouTubeIframeAPIReady() vid 中的 debub 上,它也不会加载播放器,它确实加载了一个值,我可以直接在 youtube 链接中使用它来获取视频。
【问题讨论】:
标签: javascript youtube youtube-api youtube-data-api