2013-07-10 43 views
0

我正在嘗試使用PHP w/Codeigniter框架添加Twitter帳戶。
即使在我的日誌中,我也沒有發現錯誤。不記名令牌沒問題,我直接將其添加到代碼中進行測試。使用cURL獲取空白頁twitter

我在做什麼錯?任何幫助表示讚賞。謝謝

控制器:manage.php

if($_POST['platform'] == 'twitter'): 

    $request = curl_init(); 
    $bearer = "AAAAAAAAAAAAAAAAAAAAAJ%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
    curl_setopt($request, CURLOPT_SSLVERSION, 3); 
    curl_setopt($request, CURLOPT_URL, 'https://api.twitter.com/1.1/application/rate_limit_status.json'); 
    curl_setopt($request, CURLOPT_HTTPHEADER, array('Authorization: Bearer '.$bearer)); 
    curl_setopt($request, CURLOPT_RETURNTRANSFER, true); 
    $result = json_decode($content = curl_exec($request)); 
    curl_close($request); 
    return($result); 

    if($request == 0): 
     $error = 'Sorry, rate limited'; 
    else: 

     $account_data = @file_get_contents('http://api.twitter.com/1.1/users/show.json?screen_name='.$_POST['account_id'].'&include_entities=true'); 
     $account_data = json_decode($account_data); 

    endif; 

    if($account_data != false): 
     $new_account = array(
      'id' => $account_data->screen_name, 
      'username' => $account_data->screen_name, 
      'name' => $account_data->name, 
      'link' => 'https://twitter.com/'.$account_data->screen_name, 
      'picture' => $account_data->profile_image_url, 
      'platform' => 'twitter' 
     ); 
    else: 
     $error = "Account Not Found"; 
    endif; 

觀點:add.php

<?php 

    if(isset($error)) echo "<p>".$error."</p>"; 

echo '<form action="/manage/add" method="post" accept-charset="utf-8" style="margin-left:-15px; margin-top:-15px;">'; 

echo form_error('account_id'); 
echo '<strong>'.form_label('Account ID', 'account_id'); 
echo form_input('account_id', set_value('account_id', ''),'style="width: 288px;"'); 

    echo form_label('Platform', 'platform'); 
    echo form_dropdown('platform', $platforms, set_value('platform', $this->input->post('platform'))); 

$data = array('name' => 'submit', 'value' => 'Add Account', 'class' => 'submit'); 
echo form_submit($data); 
    ?> 

    <?php echo form_close(); ?> 

當我將它設置CURLOPT_RETURNTRANSFER,假的我得到。

{ 「rate_limit_context」:{ 「應用程序」: 「N3KVVzpE8d0qapC6kJJSw」}, 「資源」:{ 「清單」:{ 「/列表/用戶」:{ 「極限」:15, 「剩餘」:15, 「復位」:1373460189} 「/列表/列表」:{ 「極限」:15, 「剩餘」:15, 「復位」:1373460189} 「/列表/成員」:{ 「極限」:15,「剩下的「:15,」 復位 「:1373460189},」/列表/所有制 「:{」 極限 「:15,」 剩餘的 「:15,」 復位 「:1373460189},」/列表/訂閱 「:{」 極限「: 15, 「剩餘的」:15, 「復位」:1373460189}, 「/列表/成員」:{ 「極限」:15, 「剩餘的」:15, 「復位」:1373460189}, 「/列表/訂戶/節目」 :{ 「極限」:15, 「剩餘的」:15, 「復位」:1373460189}, 「/列表/狀態」:{ 「極限」:180, 「剩餘的」:180, 「復位」:1373460189},「/列表/顯示 「:{」 極限 「:15,」 剩餘的 「:15,」 復位 「:1373460189},」/列表/構件/顯示 「:{」 極限 「:15,」 剩餘的 「:15,」 復位」 :1373460189}}, 「應用」:{ 「/應用/ rate_limit_status」:{ 「極限」:180, 「剩餘的」:169, 「復位」:1373459343}}, 「友誼」:{ 「/友誼/顯示」:{ 「極限」:15, 「剩餘的」:15, 「復位」:1373460189}}, 「用戶」:{ 「/用戶/ profile_banner」:{ 「極限」: 180, 「剩餘的」:180, 「復位」:1373460189}, 「/用戶/建議/:蛞蝓/成員」:{ 「極限」:15, 「剩餘的」:15, 「復位」:1373460189},「/用戶/顯示/:ID 「:{」 極限 「:180,」 剩餘的 「:180,」 復位 「:1373460189},」/用戶/建議 「:{」 極限 「:15,」 剩餘的 「:15,」 復位」 :1373460189}, 「/用戶/查找」:{ 「極限」:60, 「剩餘的」:60, 「復位」:1373460189}, 「/用戶/建議/:蛞蝓」:{ 「極限」:15「,剩餘的「:15,」 復位 「:1373460189}},」 跟隨者 「:{」/跟蹤/列表 「:{」 極限 「:30」,剩餘的 「30」,復位 「:1373460189},」/追隨者/ IDS」 :{ 「極限」:15, 「剩餘的」:15, 「復位」:1373460189}}, 「狀態」:{ 「/狀態/顯示/:ID」:{ 「極限」:180, 「剩餘的」:180, 「復位」:1373460189}, 「/狀態/透過oEmbed」:{ 「極限」:180, 「剩餘的」:180, 「復位」:1373460189}, 「/狀態/ retweeters/IDS」:{ 「極限」:60, 「剩餘的」:60, 「復位」:1373460189}, 「/狀態/ user_timeline」:{ 「極限」:300, 「剩餘的」:300, 「復位」:1373460189}, 「/狀態/轉推/:ID」: { 「極限」:60,」剩餘 「:60,」 復位 「:1373460189}},」 幫助 「:{」/幫助/隱私 「:{」 極限 「:15,」 剩餘 「:15,」 復位 「:1373460189}」/幫助/ TOS 「:{」 極限 「:15,」 剩餘的 「:15,」 復位 「:1373460189},」/幫助/配置 「:{」 極限 「:15,」 剩餘的 「:15,」 復位 「:1373460189},」 /幫助/語言 「:{」 極限 「:15,」 剩餘 「:15,」 復位 「:1373460189}},」 朋友 「:{」/朋友/ IDS 「:{」 極限 「:15,」 剩餘「: 15, 「復位」:1373460189} 「/朋友/列表」:{ 「極限」:30, 「剩餘」:30, 「復位」:1373460189}}, 「收藏夾」:{ 「/收藏/列表」:{ 「限制」:15, 「剩餘的」:15, 「復位」:1373460189}}, 「搜索」:{ 「/搜索/鳴叫」:{ 「極限」:450, 「剩餘的」:450, 「復位」:1373460189 }}, 「趨勢」:{ 「/趨勢/可用」:{ 「極限」:15, 「剩餘」:15, 「復位」:1373460189} 「/趨勢/地方」:{ 「極限」:15,」剩餘「:15,」重置「:1373460189},」/ trends/closest「:{」limit「:15,」remaining「:15,」reset「:1373460189}}}}

+0

設置'CURLOPT_HEADER =>假,'向我們展示您收到的信息。 –

+0

我的帖子中沒有看到任何新內容。 –

+0

在上面查看我的關於CURLOPT_HEADER => false的結果。 – Gee

回答

0

Your Authorization header looks wrong 。要做到這種請求,你需要生成一個簽名。有更多的信息在Twitter development site

我寫了一個CodeIgniter庫,用於向Twitter發出cURL請求。您可能想要使用它,或者只是從中獲取一些代碼。存儲庫是here

+0

我已經生成了一個簽名。我需要獲取不記名令牌,因爲我使用純應用程序驗證。我的儀表板有312個用戶,我需要代表我的用戶使用此方法。我能夠進行身份驗證並獲取不記名令牌,現在我正在嘗試添加新用戶。 – Gee

+0

如果你想添加一個用戶,我認爲你正在使你的cURL請求到錯誤的URL – Pattle

+0

其實它正在得到正確的用戶。讓我添加add.php頁面表單,以便您可以看到。 – Gee

0

我已解決該問題。

$request = curl_init(); 
    $bearer = "AAAAAAAAAAAAAAAAAAAAAJ%2xxxxxxxxxxxxxxx0x0x0x0x0x0x0x0x0x0xxxxxx"; 
    curl_setopt($request, CURLOPT_SSLVERSION, 3); 
    curl_setopt($request, CURLOPT_URL, 'https://api.twitter.com/1.1/users/show.json?screen_name='.$account_id.'&include_entities=true'); 
    curl_setopt($request, CURLOPT_HTTPHEADER, array('Authorization: Bearer '.$bearer)); 
    curl_setopt($request, CURLOPT_RETURNTRANSFER, true); 
    $account_data = json_decode($file_get_contents = curl_exec($request)); 
    curl_close($request);