【发布时间】:2013-07-08 08:56:40
【问题描述】:
我正在尝试使用带有 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,"remaining":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":{"limit":15,"remaining":15,"reset":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,"剩余":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" :{"限制":15,"剩余":15," reset":1373460189},"/help/configuration":{"limit":15,"remaining":15,"reset":1373460189},"/help/languages":{"limit":15,"remaining" :15,"reset":1373460189}},"friends":{"/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/最接近":{"limit":15,"remaining":15,"reset":1373460189}}}}
【问题讨论】:
-
设置
CURLOPT_HEADER => false,并向我们展示您收到的信息。 -
我在您的帖子中没有看到任何新内容。
-
在上面查看我的 CURLOPT_HEADER => false 结果。
-
看看this library。您将能够在此处看到标头是如何正确生成的。还不如只使用一个文件包含,使用起来真的很简单。
标签: php codeigniter curl twitter