Salut,

j'ai un probleme avec API de youtube concernant l'extraction des données d'une seul video .
je souhaite extraire juste les informations de la video avec ' VideoId ' mais je ne trouve rien dans la docs youtube qui me permet de le faire ou bien ca fait des heures que je pige rien ...

mon code :

                            $client = new Google_Client();
                            $client->setDeveloperKey(DEVELOPER_KEY_GOOGLE);

                            $youtube = new Google_Service_YouTube($client);
                            $videoResponse = $youtube->videos->listVideos('id,snippet', ['id' => $id] );

je recupere un tableau mais rien concernant la video.

    videoResponse:Object
          etag:""q5k97... ... ...YxaEjEA7Y""
          eventId:null
          kind:"youtube#videoListResponse"
          nextPageToken:null
          prevPageToken:null
          visitorId:null

Quelle est la methode ?

merci

4 réponses


Bonjour.
La méthode que tu utilises (listVideos) est la bonne, mais il ne doit pas trouver la vidéo à laquelle l'id correspond, car dans le retour, tu devrais avoir la propriété items :

{
  "kind": "youtube#videoListResponse",
  "etag": etag,
  "nextPageToken": string,
  "prevPageToken": string,
  "pageInfo": {
    "totalResults": integer,
    "resultsPerPage": integer
  },
  "items": [  // Ici
    ...
  ]
}

je souhaite extraire juste les informations de la video

Par contre, c'est plutôt vague comme explication, quels genres d'informations de la vidéo veux-tu récupérer ?
Le titre et la description ou bien plutôt la durée ?

kaloutch
Auteur

je souhaite recupérer le titre , la description , le temps de la video , le thumbnails et si possible logo et nom de utilisateur.

Pour les thumbnails, tu les as juste avec id,snippet, concernant la durée, il te faut ajouter contentDetails.
Tu peux récupérer le nom de la chaîne via cette méthode, mais ni le nom de l'utilisateur, ni son logo.
Pour information, tu peux facilement faire des tests pour voir ce qui t'es retourné directement sur la documentation : Try it!.

kaloutch
Auteur

je vois mais sur try it il utilise GET :

GET https://www.googleapis.com/youtube/v3/videos?part=snippet&id=DwNapBHypE8&key={YOUR_API_KEY}

mais avec cette methode si dessous, il devrait me retourner les informations de la video donc ?

$videoResponse = $youtube->videos->listVideos('id,snippet', ['id' => 'DwNapBHypE8'] );

mais ca ne me retourne rien ... :(
je me suis trompé ?