youtube api v3

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ken PHP

Ken PHP

13/10/2013 15:04:28
Quote Anchor link
Ola iedereen!

Ik ben momenteel bezig met een integratie van de nieuwe YouTube API (v3) en dat lukt allemaal aardig, alleen zit ik een beetje in dubio met twee vragen, namelijk;

1) Moet ik data cachen in een eigen database om het aantal requests naar YouTube te minimaliseren?
2) Zoja, hoe kan ik data het beste cachen? Gewoon in de frontend obv een user request en een interval (bv 1 keer per 4 uur), of kan ik beter een dagelijkse cronjob hiervoor laten lopen?

Aanvulling voor punt 2; als ik kies om het in de frontend te implementeren zit ik tevens met het *probleem* dat YouTube maar 25 resultaten (bv 25 videos van totaal 200) per request laat zien, dus om alle pagina's te cachen moet ik een recursive functie gebruiken, wat bij een grote hoeveelheid de laadbaarheid zal vertragen.

Kleine informatie over het project; ik moet voor een bedrijf haar channel gegevens ophalen met alle daarbij horende video's opgedeeld per afspeellijst (playlist).

Helaas vind ik alle documentatie nogal beperkt, vooral mbt caching worden er geen voorbeelden en ideeen aangedragen.

Zie graag jullie reactie tegemoet!

Ken
Gewijzigd op 13/10/2013 15:06:17 door Ken PHP
 
PHP hulp

PHP hulp

27/04/2024 01:47:52
 
Keizer Webdesign

Keizer Webdesign

13/10/2013 17:39:11
Quote Anchor link
Waarom iets opslaan, je kan toch ook gewoon de playlist video's checken per opening van de pagina?!

Hier een voorbeeld van een script dat ik heb gebruikt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
//Playlist: playlist?list=PLZLTS4u9M_2rYRUMj5RoI016wS_JxRnGE, remove playlist?list= from name
$playlist_id = "PLZLTS4u9M_2rYRUMj5RoI016wS_JxRnGE";
$url = "https://gdata.youtube.com/feeds/api/playlists/".$playlist_id."?v=2&alt=json";
$data = json_decode(file_get_contents($url),true);
$info = $data["feed"];
$video = $info["entry"];
$nVideo = count($video);

echo "Let's play".$info["title"]['$t'].'<br/><hr><br/>';
for($i=0;$i<9;$i++){
    
    echo "<div class=\"playlist-video\"><a href='".$video[$i]['link'][0]['href']."'><img style='width: 100%; ' src='".$video[$i]['media$group']['media$thumbnail'][1]['url']."' /></a><br />";
    echo "Name: ".$video[$i]['title']['$t'].'<br/><hr><div>';
}


?>

Als we er van uit gaan dat je een site moet maken voor Machinima en je wil deze playlist inladen:
http://www.youtube.com/playlist?list=PLZLTS4u9M_2rYRUMj5RoI016wS_JxRnGE
Dan voer je het bovenstaande script uit.
 
Ken PHP

Ken PHP

13/10/2013 20:04:01
Quote Anchor link
Hoi Keizer Webdesign,

bedankt voor je reactie, maar het aangedragen voorbeeld is de api v2 implementatie. Ik ben nu bezig met v3.

Daarnaast wil ik op basis van een channelId alle playlists ophalen en daarna pas de video's per playlistId.

Voorbeeld code:
https://developers.google.com/youtube/v3/code_samples/php

Documentatie:
https://developers.google.com/youtube/v3/getting-started

Gr, Ken
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.