accessKey = $accessKey; } private function request($method, $params = []){ $params['action'] = $method; $params['accessKey'] = $this->accessKey; $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => $endpoint, CURLOPT_RETURNTRANSFER => true, CURLOPT_POST = true, CURLOPT_POSTFIELDS => $params, ]); $response = json_decode(curl_exec($curl), true); curl_close($curl); if($response['status_code'] == 200){ return $response['result']; }else{ return ['error' => true, 'code' => $response['status_code']]; } } public function search($query, $resultCount = 10, $pageToken = null){ return self::request("search", ['query' => $query, 'resultCount' => $resultCount, 'pageToken' => $pageToken]); } public function video_info($videoId){ return self::request("information", ['videoId' => $videoId]); } } $ut = new YouTube("YOUR-ACCESS-TOKEN"); # Search YouTube Query: echo json_encode($ut->search("The404Hacking", 15)); # YouTube Video Information: echo json_encode($ut->video_info("y1brxpz_tI4")); ?>