_consumerKey = $consumerKey; $this->_consumerSecret = $consumerSecret; } /** * @param string $url * @param array $parameters * @param $method * @return array */ protected function _buildHeaders($url,array $parameters = null,$method) { return $headers = array( "Authorization: Bearer " . $this->_getBearerToken() ); } /** * Get Bearer token * * @link https://dev.twitter.com/docs/auth/application-only-auth * * @throws \TwitterPhp\RestApiException * @return string */ private function _getBearerToken() { if (!$this->_bearersToken) { $token = urlencode($this->_consumerKey) . ':' . urlencode($this->_consumerSecret); $token = base64_encode($token); $headers = array( "Authorization: Basic " . $token ); $options = array ( CURLOPT_URL => self::TWITTER_API_AUTH_URL, CURLOPT_HTTPHEADER => $headers, CURLOPT_POST => 1, CURLOPT_POSTFIELDS => "grant_type=client_credentials" ); $response = $this->_callApi($options); if (isset($response["token_type"]) && $response["token_type"] == 'bearer') { $this->_bearersToken = $response["access_token"]; } else { throw new RestApiException('Error while getting access token'); } } return $this->_bearersToken; } }