Merhabalar,
Sitemde kendi youtube kanalımdaki videoları otomatik olarak listenmesini istiyorum acaba nasıl sağlıyabilirim?
Youtube kanalımdaki videoları listeleme
1
●534
- 15-01-2016, 11:05:53Google Api ile kolayca yapabilirsiniz.
kaynak: https://developers.google.com/youtub.../list#examples
<? php /** * This sample lists videos that are associated with a particular keyword and are in the radius of * particular geographic coordinates by: * * 1. Searching videos with "youtube.search.list" method and setting "type", "q", "location" and * "locationRadius" parameters. * 2. Retrieving location details for each video with "youtube.videos.list" method and setting * "id" parameter to comma separated list of video IDs in search result. * * @author Ibrahim Ulukaya */ $htmlBody = <<< END < form method = "GET" > <div> Search Term : < input type = "search" id = "q" name = "q" placeholder = "Enter Search Term" > < /div> <div> Location: <input type="text" id="location" name="location" placeholder="37.42307,-122.08427"> </ div > <div> Location Radius : < input type = "text" id = "locationRadius" name = "locationRadius" placeholder = "5km" > < /div> <div> Max Results: <input type="number" id="maxResults" name="maxResults" min="1" max="50" step="1" value="25"> </ div > < input type = "submit" value = "Search" > < /form> END; / / This code executes if the user enters a search query in the form // and submits the form. Otherwise, the page displays the form above. if ( $_GET [ 'q' ] && $_GET [ 'maxResults' ]) { // Call set_include_path() as needed to point to your client library. require_once 'Google/Client.php' ; require_once 'Google/Service/YouTube.php' ; /* * Set $DEVELOPER_KEY to the "API key" value from the "Access" tab of the * Google Developers Console <https://console.developers.google.com/> * Please ensure that you have enabled the YouTube Data API for your project. */ $DEVELOPER_KEY = 'REPLACE_ME' ; $client = new Google_Client (); $client -> setDeveloperKey ( $DEVELOPER_KEY ); // Define an object that will be used to make all API requests. $youtube = new Google_Service_YouTube ( $client ); try { // Call the search.list method to retrieve results matching the specified // query term. $searchResponse = $youtube -> search -> listSearch ( 'id,snippet' , array ( 'type' => 'video' , 'q' => $_GET [ 'q' ], 'location' => $_GET [ 'location' ], 'locationRadius' => $_GET [ 'locationRadius' ], 'maxResults' => $_GET [ 'maxResults' ], )); $videoResults = array (); # Merge video ids foreach ( $searchResponse [ 'items' ] as $searchResult ) { array_push ( $videoResults , $searchResult [ 'id' ][ 'videoId' ]); } $videoIds = join ( ',' , $videoResults ); # Call the videos.list method to retrieve location details for each video. $videosResponse = $youtube -> videos -> listVideos ( 'snippet, recordingDetails' , array ( 'id' => $videoIds , )); $videos = '' ; // Display the list of matching videos. foreach ( $videosResponse [ 'items' ] as $videoResult ) { $videos .= sprintf ( '<li>%s (%s,%s)</li>' , $videoResult [ 'snippet' ][ 'title' ], $videoResult [ 'recordingDetails' ][ 'location' ][ 'latitude' ], $videoResult [ 'recordingDetails' ][ 'location' ][ 'longitude' ]); } $htmlBody .= <<< END <h3> Videos < /h3> <ul>$videos</ ul > END ; } catch ( Google_Service_Exception $e ) { $htmlBody .= sprintf ( '<p>A service error occurred: <code>%s</code></p>' , htmlspecialchars ( $e -> getMessage ())); } catch ( Google_Exception $e ) { $htmlBody .= sprintf ( '<p>An client error occurred: <code>%s</code></p>' , htmlspecialchars ( $e -> getMessage ())); } } ?> <!doctype html> <html> <head> <title> YouTube Geolocation Search </title> </head> <body> <?= $htmlBody ?> </body> </html>