| <?php | |
| 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?screen_name=TheRoyalGod"; | |
| $oauth_access_token = "XXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXX"; | |
| $oauth_access_token_secret = "XXXXXXXXXXXXXXXXXX"; | |
| $consumer_key = "XXXXXXXXXXXXXXXXXXXX"; | |
| $consumer_secret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; | |
| $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:'); | |
| $feed = curl_init(); | |
| curl_setopt($feed,CURLOPT_HTTPHEADER, $header); | |
| curl_setopt($feed,CURLOPT_HEADER, false); | |
| curl_setopt($feed,CURLOPT_URL, $url); | |
| curl_setopt($feed,CURLOPT_RETURNTRANSFER, true); | |
| curl_setopt($feed,CURLOPT_SSL_VERIFYPEER, false); | |
| $json = curl_exec($feed); | |
| curl_close($feed); | |
| $twitter_data = json_decode($json); | |
| var_dump($twitter_data); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment