· 8 years ago · Dec 05, 2016, 05:29 PM
1 function buildBaseString($baseURI, $method, $params) {
2 $r = array();
3 ksort($params);
4 foreach($params as $key=>$value){
5 $r[] = "$key=" . rawurlencode($value);
6 }
7 return $method."&" . rawurlencode($baseURI) . '&' . rawurlencode(implode('&', $r));
8}
9
10function buildAuthorizationHeader($oauth) {
11 $r = 'Authorization: OAuth ';
12 $values = array();
13 foreach($oauth as $key=>$value)
14 $values[] = "$key=\"" . rawurlencode($value) . "\"";
15 $r .= implode(', ', $values);
16 return $r;
17}
18
19function returnTweet(){
20 $oauth_access_token = "2462114703-GsLVwO2EjVvPgVsCmgft14VMncoUhUPWIhzIszv";
21 $oauth_access_token_secret = "NNJRyu0tiy6wZt42OVrFRG1fqlvBqZTqmjsUq1xTMUdHI";
22 $consumer_key = "3zhqsfoYHukUUu01KvjW6PDgr";
23 $consumer_secret = "lEqWDhjbGxvfdWH56e890aVDWunOVbg40toFaisCUUfrR1uKlG";
24
25 $twitter_timeline = "user_timeline";
26 $request = array(
27 'screen_name' => get_theme_mod('twitter_followers_name'),
28 'count' => '4'
29 );
30
31 $oauth = array(
32 'oauth_consumer_key' => $consumer_key,
33 'oauth_nonce' => time(),
34 'oauth_signature_method' => 'HMAC-SHA1',
35 'oauth_token' => $oauth_access_token,
36 'oauth_timestamp' => time(),
37 'oauth_version' => '1.0'
38 );
39
40
41 $oauth = array_merge($oauth, $request);
42
43
44 $base_info = buildBaseString("https://api.twitter.com/1.1/statuses/$twitter_timeline.json", 'GET', $oauth);
45 $composite_key = rawurlencode($consumer_secret) . '&' . rawurlencode($oauth_access_token_secret);
46 $oauth_signature = base64_encode(hash_hmac('sha1', $base_info, $composite_key, true));
47 $oauth['oauth_signature'] = $oauth_signature;
48
49 $header = array(buildAuthorizationHeader($oauth), 'Expect:');
50 $options = array( CURLOPT_HTTPHEADER => $header,
51 CURLOPT_HEADER => false,
52 CURLOPT_URL => "https://api.twitter.com/1.1/statuses/$twitter_timeline.json?". http_build_query($request),
53 CURLOPT_RETURNTRANSFER => true,
54 CURLOPT_SSL_VERIFYPEER => false);
55
56 $feed = curl_init();
57 curl_setopt_array($feed, $options);
58 $json = curl_exec($feed);
59 curl_close($feed);
60
61 return json_decode($json, true);
62}
63
64$tweetfeed = returnTweet();