使用Youtube API将视频添加到播放列表

时间:2016-07-31 14:51:11

标签: php youtube-api

我成功地将视频添加到播放列表但是多次添加(有时两次,有时甚至更多)。有人可以帮忙吗?

$resourceId = new Google_Service_YouTube_ResourceId();
$resourceId->setVideoId($videoID);
$resourceId->setKind('youtube#video');

$playlistItemSnippet = new Google_Service_YouTube_PlaylistItemSnippet();

$playlistItemSnippet->setPlaylistId($playlistId);
$playlistItemSnippet->setResourceId($resourceId);

$playlistItem = new Google_Service_YouTube_PlaylistItem();
$playlistItem->setSnippet($playlistItemSnippet);

$playlistItemResponse = $youtube->playlistItems->insert('snippet,contentDetails', $playlistItem, array());

1 个答案:

答案 0 :(得分:0)

我自己解决了,我为此感到自豪:)

我意识到ajax在mouseover上触发了上面的php脚本。因此,每次我从复选框元素中徘徊时,php脚本都会多次触发。

我使用以下内容更改了鼠标悬停代码:

$(function() {
    $('input.Chilltrap').on('click', function(e) {
        var chilltrap = this.id;     
        if( $("input[name=" + chilltrap + "]").prop('checked') ) {
            checkboxstatusCt = "Yes";
        }
        else {
            checkboxstatusCt = "No";
        }
        var url = "url.php";
        var params = "c="+checkboxstatusCt+"&s="+chilltrap;
        if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
        } else {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {                         
                $("#error").html(xmlhttp.responseText);
                $("#error"). fadeIn('fast');
                setTimeout(function(){
                    $("#error"). fadeOut('slow');
                },2000);
            }
        };
        xmlhttp.open("GET", url+"?"+params,true);
        xmlhttp.send();
    });
});