Get tweets bij PHP search


#1

I try to collect tweets for a certain search.
I use the code below, but get everytime the message Could not authenticate you.
What am I doing wrong?
For user_timeline and mention_timeline, it works great.

<? function buildBaseString($baseURI, $method, $params) { $r = array(); ksort($params); foreach($params as $key=>$value){ $r[] = "$key=" . rawurlencode($value); } return $method."&" . rawurlencode($baseURI) . '&' . rawurlencode(implode('&', $r)); } function buildAuthorizationHeader($oauth) { $r = 'Authorization: OAuth '; $values = array(); foreach($oauth as $key=>$value) $values[] = "$key=\"" . rawurlencode($value) . "\""; $r .= implode(', ', $values); return $r; } //$url = "https://api.twitter.com/1.1/statuses/user_timeline.json"; $q = "from:@TC_Pagnevaart"; //$url = "https://api.twitter.com/1.1/statuses/mentions_timeline.json";$q = "@TC_Pagnevaart"; $url = "https://api.twitter.com/1.1/search/tweets.json?q=TC_Pagnevaart"; $q = "TC_Pagnevaart"; $oauth_access_token = "xxx"; $oauth_access_token_secret = "xxx"; $consumer_key = "xxx"; $consumer_secret = "xxx"; $oauth = array( 'oauth_consumer_key' => $consumer_key, 'oauth_nonce' => time(), 'oauth_signature_method' => 'HMAC-SHA1', 'oauth_token' => $oauth_access_token, 'oauth_timestamp' => time(), 'oauth_version' => '1.0'); $base_info = buildBaseString($url, 'GET', $oauth); $composite_key = rawurlencode($consumer_secret) . '&' . rawurlencode($oauth_access_token_secret); $oauth_signature = base64_encode(hash_hmac('sha1', $base_info, $composite_key, true)); $oauth['oauth_signature'] = $oauth_signature; // Make Requests $header = array(buildAuthorizationHeader($oauth), 'Expect:'); $options = array( CURLOPT_HTTPHEADER => $header, //CURLOPT_POSTFIELDS => $postfields, CURLOPT_HEADER => false, CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => false); $feed = curl_init(); curl_setopt_array($feed, $options); $json = curl_exec($feed); curl_close($feed); $twitter_data = json_decode($json); ?>