2016-04-30 5 views
2

Gibt es eine Möglichkeit zu überprüfen, ob ein bestimmtes Video auf youtube vom Nutzer über die YouTube-API angesehen wurde? Ich möchte nicht nur wissen, ob der Nutzer auf das Video geklickt hat, sondern ob er es tatsächlich gesehen hat. Ich möchte im Grunde, dass diese Informationen Sie auf Video-thumbnail sehen können, wenn Sie Youtube durchsuchen, das beobachtet sagt.Wie kann ich überprüfen, ob das Video vom Nutzer über die YouTube-API angesehen wurde?

+0

Post attemept –

+1

i fanden keine api Endpunkt in youtube api-Dokumentation, die solche Informationen – Dejvid

+0

Benutzer müssen zurückkehren würde mit Oauth oder nicht authentifiziert werden? das ist wichtig – mpgn

Antwort

1

hier meine Codes, benutze ich Javascript und youtube api v3 und php. Hoffe, es hilft Ihnen

` protected function getHistory($vid){ 
    $return = new stdClass(); 
     $videos = $vid; 
     $vids[] =$vid; 

     $videos = explode("\n", $videos);  
     $videos = implode(",", array_map("rtrim", $videos)); 
       $part = "snippet,contentDetails,statistics"; 
     $this->url = "https://www.googleapis.com/youtube/v3/videos?key= {$this->key}&part={$part}&id={$videos}"; 
       $data = $this->http(TRUE); 
     $html ="<h2 class='header'>Your Recently Viewed Videos</h2> <a href='#' class='header' onclick='clearhistory();'>Clear History</a>"; 
     $html .= "<ul class='media' id='mediacontent'>"; 
     $vids = array(); 


     foreach ($data->items as $yt) { 
     $html .= $this->listhisVideo($yt); 
     $vids[] = $yt->id; 
    } 
    $html .= "</ul>";  
    $html .=$this->ads(728); 



    $html .= '<script type="text/javascript"> 
     var videos = ["'.implode('","',$vids).'"]; 
    </script>'; 

    if(!isset($_POST['his'])) { 

    $html ="<h2 class='header'>Your Recently Viewed Videos</h2>"; 
    $html .='<ul class="media"><li class="video" id="video-EoCz3Vx1pXg"> 

<center><img src="/img/load.gif"></center> 

</li></ul>'; 
    $html .= '<form id="history" action="/history" method="POST"> 
<input type="hidden" id= "his" name="his"  value="NqucyQdiFRM,EoCz3Vx1pXg,FJ55SHCzt88" /> 

</form><script type="text/javascript"> 
if (localStorage.getItem("videos") === null) { 
document.getElementById("his").value = "empty"; 
} else { 
document.getElementById("his").value = localStorage.getItem("videos"); 


} 

document.getElementById("history").submit(); 
</script>'; 





    } 

    if ($_POST['his']=='empty'){ 
    $html ="<h2 class='header'>Your Recently Viewed Videos</h2>"; 
    $html .="NO Video Exist"; 

    } 


    $return->html = $html; 
    return $return; 
}` 
+1

Können Sie diesen Code erklären? Ich kann sehen, dass du eine Anfrage an/youtue/v3/videos machst, aber das sagt dir nicht, ob der Nutzer das Video angesehen hat. – Dejvid

+0

Vereinbaren Sie mit @Dejvid (und downvoted): Dies listet Details für die über '$ vid' übermittelten Videos auf, sagt aber nichts darüber aus, was ein Benutzer kürzlich gesehen hat. "Recently Watched" scheint durch die aktuelle API nicht möglich zu sein. – kyle

Verwandte Themen