2013-08-02 100 views
0

任何人都知道我可以調整本網站使用的WordPress主題(http://www.ethnecity.church.ly/)的設置,使Twitter部分(頁面左下角附近)顯示帳戶的推文,而不是Twitter賬戶的時間表?注意:插件使用OAuth ...我只是不知道如何告訴它顯示推文而不是時間線。Twitter OAuth顯示時間軸不推文

我相信這是一個顯示Twitter的信息代碼:

<?php 
$user_screen_name = 'ethnecity'; 
$user_full_name = '(removed)'; 

$settings = array(
'consumer_key' => '(removed)', 
'consumer_secret' => '(removed)', 
'access_token' => '(removed)', 
'access_token_secret' => '(removed)'); 

$api_url = 'https://api.twitter.com/1.1/statuses/home_timeline.json'; 

$api_params = array(
'count' => 40, 
'contributor_details' => 'false', 
'include_entities' => 'false'); 

// OAuth: 

function oauth_encode($data){ 
if(is_array($data)){ 
return array_map('oauth_encode', $data); 
} else if(is_scalar($data)) { 
return str_ireplace(array('+', '%7E'), array(' ', '~'), rawurlencode($data)); 
} else { 
return ''; 
}} 

// OAuth base settings 

$oauth_params = array(
'oauth_consumer_key' => $settings['consumer_key'], 
'oauth_nonce' => md5(microtime() . mt_rand()), 
'oauth_signature_method' => 'HMAC-SHA1', 
'oauth_timestamp' => time(), 
'oauth_token' => $settings['access_token'], 
'oauth_version' => '1.0', 
); 

// Sign OAuth params 

$sign_params = array_merge($oauth_params, $api_params); 

uksort($sign_params, 'strcmp'); 

foreach ($sign_params as $k => $v) { 
$sparam[] = oauth_encode($k) . '=' . oauth_encode($v); 
} 
$sparams = implode('&', $sparam); 

$base_string = 'GET&' . oauth_encode($api_url) . '&' . oauth_encode($sparams); 

$signing_key = oauth_encode($settings['consumer_secret']) . '&' .  oauth_encode($settings['access_token_secret']); 

$oauth_params['oauth_signature'] = oauth_encode(base64_encode(hash_hmac('sha1', $base_string,  $signing_key, TRUE))); 


// Set Authorization header: 

uksort($oauth_params, 'strcmp'); 

foreach ($oauth_params as $k => $v) { 
$hparam[] = $k . '="' . $v . '"'; 
} 

$hparams = implode(', ', $hparam); 

$headers = array(); 
$headers['Expect'] = ''; 
$headers['Authorization'] = 'OAuth ' . $hparams; 

foreach ($headers as $k => $v) { 
$curlheaders[] = trim($k . ': ' . $v); 
} 

// Format params: 

foreach ($api_params as $k => $v) { 
$rparam[] = $k . '=' . $v; 
} 
$rparams = implode('&', $rparam); 


// echo "curl --get '" . $api_url . "' --data '" . $rparams . "' --header 'Authorization:   OAuth " . $hparams . "' --verbose" . PHP_EOL; 


// GET: 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $api_url . '?' . $rparams); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $curlheaders); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLINFO_HEADER_OUT, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_TIMEOUT, 10); 

$response = curl_exec($ch); 
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
$info = curl_getinfo($ch); 
$error = curl_error($ch); 
$errno = curl_errno($ch); 
curl_close($ch); 


function get_twitterfeeds(){ 
global $code; global $response; 

if($code != 200){ 

//echo 'Error' . PHP_EOL; 
//echo $code . PHP_EOL; 
//print_r($response); 
//print_r($info); 

} else { 
$all = json_decode($response, true); 
//echo '<pre />'; 
// print_r($all); 
//exit; 
return $all; 
} 

} 




?> 

回答

1

你的代碼應該修改,以便檢索用戶的時間表。根據當前的代碼,它應該只返回時間線上的推文。

如果您只需要您的或特定用戶的Feed,則應修改代碼以便更改資源URL。

$api_url = 'https://api.twitter.com/1.1/statuses/user_timeline.json'; 
    $api_params = array(
       'screen_name' => 'ethnecity' 
       'count' => 40, 
       'contributor_details' => 'false', 
        'include_entities' => 'false' 
       ); 

請確認文件https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline

相關問題