Exemplo n.º 1
0
 protected static function getYouTubeVideoData_API_v3($videoid, &$blankArray, $getinfomethod, $api_key)
 {
     //Use API v3.0
     /*
     $client_secret = YouTubeGalleryMisc::getSettingValue('youtube_api_client_secret');
     
     // Call set_include_path() as needed to point to your client library.
     require_once 'Google/Client.php';
     require_once 'Google/Service/YouTube.php';
     if(!isset($_SESSION))
     {
     	session_start();
     }
     
     
     $OAUTH2_CLIENT_ID = $client_id;
     $OAUTH2_CLIENT_SECRET = $client_secret;
     
     $client = new Google_Client();
     $client->setClientId($OAUTH2_CLIENT_ID);
     $client->setClientSecret($OAUTH2_CLIENT_SECRET);
     $client->setScopes('https://www.googleapis.com/auth/youtube');
     $redirect = filter_var('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'],FILTER_SANITIZE_URL);
     $client->setRedirectUri($redirect);
     
     // Define an object that will be used to make all API requests.
     $youtube = new Google_Service_YouTube($client);
     */
     if (phpversion() < 5) {
         return "Update to PHP 5+";
     }
     try {
         $part = 'id,snippet,contentDetails,statistics';
         //,status
         $url = 'https://www.googleapis.com/youtube/v3/videos?id=' . $videoid . '&part=' . $part . '&key=' . $api_key;
         $blankArray['datalink'] = $url;
         $htmlcode = YouTubeGalleryMisc::getURLData($url);
         if (($getinfomethod == 'js' or $getinfomethod == 'jsmanual') and $htmlcode == '') {
             return '';
         }
         $j = json_decode($htmlcode);
         if (!$j) {
             //print_r($j);
             //die;
             return 'Connection Error';
         }
         $items = $j->items;
         foreach ($items as $item) {
             if ($item->kind == 'youtube#video' and $item->id == $videoid) {
                 $snippet = $item->snippet;
                 $blankArray['title'] = $snippet->title;
                 $blankArray['description'] = $snippet->description;
                 $blankArray['publisheddate'] = $snippet->publishedAt;
                 $t = $snippet->thumbnails;
                 $images = array();
                 if (isset($t->default)) {
                     $images[] = $t->default->url;
                 }
                 if (isset($t->medium)) {
                     $images[] = $t->medium->url;
                 }
                 if (isset($t->high)) {
                     $images[] = $t->high->url;
                 }
                 if (isset($t->standard)) {
                     $images[] = $t->standard->url;
                 }
                 if (isset($t->maxres)) {
                     $images[] = $t->maxres->url;
                 }
                 $blankArray['imageurl'] = implode(',', $images);
                 $blankArray['channel_title'] = $snippet->channelTitle;
                 $d = $item->contentDetails->duration;
                 $blankArray['duration'] = VideoSource_YouTube::convert_duration($d);
                 $blankArray['statistics_favoriteCount'] = $item->statistics->favoriteCount;
                 $blankArray['statistics_viewCount'] = $item->statistics->viewCount;
                 $blankArray['likes'] = $item->statistics->likeCount;
                 $blankArray['dislikes'] = $item->statistics->dislikeCount;
                 $blankArray['commentcount'] = $item->statistics->commentCount;
                 if (isset($snippet->tags)) {
                     $blankArray['keywords'] = $snippet->tags;
                 }
                 //print_r($blankArray);
                 //die;
                 return '';
             }
         }
     } catch (Exception $e) {
         return 'Cannot get youtube video data.';
     }
     return '';
 }