0

我正在尝试使用带有 Codeigniter 框架的 PHP 添加一个 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, false 我得到。

{"rate_limit_context":{"application":"N3KVVzpE8d0qapC6kJJSw"},"resources":{"lists":{"/lists/subscribers":{"limit":15,"remaining":15,"reset":1373460189 },"/lists/list":{"limit":15,"remaining":15,"reset":1373460189},"/lists/memberships":{"limit":15,"remaining":15," reset":1373460189},"/lists/ownerships":{"limit":15,"remaining":15,"reset":1373460189},"/lists/subscriptions":{"limit":15,"remaining" :15,"reset":1373460189},"/lists/members":{"limit":15,"remaining":15,"reset":1373460189},"/lists/subscribers/show":{"limit" :15,"剩余":15,"reset":1373460189},"/lists/statuses":{"limit":180,"remaining":180,"reset":1373460189},"/lists/show":{"limit":15,"remaining ":15,"reset":1373460189},"/lists/members/show":{"limit":15,"remaining":15,"reset":1373460189}},"application":{"/application/ rate_limit_status":{"limit":180,"remaining":169,"reset":1373459343}},"friendships":{"/friendships/show":{"limit":15,"remaining":15," reset":1373460189}},"users":{"/users/profile_banner":{"limit":180,"remaining":180,"reset":1373460189},"/users/suggestions/:slug/members" :{"限制":15,"剩余":15,"重置":1373460189},"/users/show/:id":{"limit":180,"remaining":180,"reset":1373460189},"/users/suggestions":{"limit":15, "remaining":15,"reset":1373460189},"/users/lookup":{"limit":60,"remaining":60,"reset":1373460189},"/users/suggestions/:slug": {"limit":15,"remaining":15,"reset":1373460189}},"followers":{"/followers/list":{"limit":30,"remaining":30,"reset": 1373460189},"/followers/ids":{"limit":15,"remaining":15,"reset":1373460189}},"statuses":{"/statuses/show/:id":{"limit" :180,"remaining":180,"reset":1373460189},"/statuses/oembed":{"limit":180,"remaining":180,"reset":1373460189},"/statuses/retweeters/ids":{"limit":60,"remaining":60,"reset":1373460189},"/statuses /user_timeline":{"limit":300,"remaining":300,"reset":1373460189},"/statuses/retweets/:id":{"limit":60,"remaining":60,"reset" :1373460189}},"help":{"/help/privacy":{"limit":15,"remaining":15,"reset":1373460189},"/help/tos":{"limit":15 ,"remaining":15,"reset":1373460189},"/help/configuration":{"limit":15,"remaining":15,"reset":1373460189},"/help/languages":{"限制“:15”,“剩余”:15,“重置”:1373460189}},朋友":{"/friends/ids":{"limit":15,"remaining":15,"reset":1373460189},"/friends/list":{"limit":30,"remaining":30 ,"reset":1373460189}},"favorites":{"/favorites/list":{"limit":15,"remaining":15,"reset":1373460189}},"search":{"/search /tweets":{"limit":450,"remaining":450,"reset":1373460189}},"trends":{"/trends/available":{"limit":15,"remaining":15, "reset":1373460189},"/trends/place":{"limit":15,"remaining":15,"reset":1373460189},"/trends/closest":{"limit":15,"remaining ":15,"reset":1373460189}}}}limit":15,"remaining":15,"reset":1373460189},"/friends/list":{"limit":30,"remaining":30,"reset":1373460189}},"favorites": {"/favorites/list":{"limit":15,"remaining":15,"reset":1373460189}},"search":{"/search/tweets":{"limit":450,"remaining ":450,"reset":1373460189}},"trends":{"/trends/available":{"limit":15,"remaining":15,"reset":1373460189},"/trends/place" :{"limit":15,"remaining":15,"reset":1373460189},"/trends/closest":{"limit":15,"remaining":15,"reset":1373460189}}}}limit":15,"remaining":15,"reset":1373460189},"/friends/list":{"limit":30,"remaining":30,"reset":1373460189}},"favorites": {"/favorites/list":{"limit":15,"remaining":15,"reset":1373460189}},"search":{"/search/tweets":{"limit":450,"remaining ":450,"reset":1373460189}},"trends":{"/trends/available":{"limit":15,"remaining":15,"reset":1373460189},"/trends/place" :{"limit":15,"remaining":15,"reset":1373460189},"/trends/closest":{"limit":15,"remaining":15,"reset":1373460189}}}}{"limit":30,"remaining":30,"reset":1373460189}},"favorites":{"/favorites/list":{"limit":15,"remaining":15,"reset": 1373460189}},"search":{"/search/tweets":{"limit":450,"remaining":450,"reset":1373460189}},"trends":{"/trends/available":{ "limit":15,"remaining":15,"reset":1373460189},"/trends/place":{"limit":15,"remaining":15,"reset":1373460189},"/trends/最接近":{"limit":15,"remaining":15,"reset":1373460189}}}}{"limit":30,"remaining":30,"reset":1373460189}},"favorites":{"/favorites/list":{"limit":15,"remaining":15,"reset": 1373460189}},"search":{"/search/tweets":{"limit":450,"remaining":450,"reset":1373460189}},"trends":{"/trends/available":{ "limit":15,"remaining":15,"reset":1373460189},"/trends/place":{"limit":15,"remaining":15,"reset":1373460189},"/trends/最接近":{"limit":15,"remaining":15,"reset":1373460189}}}}reset":1373460189}},"search":{"/search/tweets":{"limit":450,"remaining":450,"reset":1373460189}},"trends":{"/trends/available ":{"limit":15,"remaining":15,"reset":1373460189},"/trends/place":{"limit":15,"remaining":15,"reset":1373460189}," /trends/closest":{"limit":15,"remaining":15,"reset":1373460189}}}}reset":1373460189}},"search":{"/search/tweets":{"limit":450,"remaining":450,"reset":1373460189}},"trends":{"/trends/available ":{"limit":15,"remaining":15,"reset":1373460189},"/trends/place":{"limit":15,"remaining":15,"reset":1373460189}," /trends/closest":{"limit":15,"remaining":15,"reset":1373460189}}}}1373460189},"/trends/closest":{"limit":15,"remaining":15,"reset":1373460189}}}}1373460189},"/trends/closest":{"limit":15,"remaining":15,"reset":1373460189}}}}

4

2 回答 2

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);
于 2013-07-15T17:30:13.953 回答
0

您的 Authorization 标头看起来不对。要执行此类请求,您需要生成签名。Twitter开发网站上有更多信息

我编写了一个 CodeIgniter 库,用于向 Twitter 发出 cURL 请求。您可能想要使用它,或者只是从中获取一些代码。存储库在这里

于 2013-07-10T12:32:06.240 回答