2015-10-31 60 views
0

我使用Twitter的API,並試圖獲取使用Twitter的API獲取用戶的timeline帖子是新手。我已經試過這段代碼來實現這一點。Twitter的API不要求用戶訪問權限

它顯示我所有我的帳戶的時間表數據,但不要求用戶權限訪問或登錄憑據在技術上我沒有登錄到我的賬戶,現在仍然是顯示我所有我的帳戶數據。

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/home_timeline.json"; 
$oauth_access_token = "ACCESS TOKEN"; 
$oauth_access_token_secret = "ACCESS TOKEN SECRET"; 
$consumer_key = "APP KEY"; 
$consumer_secret = "APP KEY SECRET"; 

$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); 

//print it out 
echo "<pre>"; print_r ($twitter_data); 

我已經找到了this post

代碼任何幫助將非常感激。

感謝

回答

0

您正在使用您的訪問令牌和訪問令牌密鑰爲您的帳戶,你從你的Twitter應用程序設置頁面了,所以你已經登錄,這是所有的用戶身份驗證數據需要通過API訪問您的帳號。

僅用於閱讀別人的受保護數據,您需要訪問令牌和他們的帳戶,您可以通過實現的Twitter的OAuth登錄流程獲取祕密(重定向到Twitter,並要求他們給予你的應用程序,訪問他們的帳戶)。

相關問題