2013-07-10 4 views
0

Я пытаюсь добавить учетную запись twitter с помощью PHP с фреймворком Codeigniter.
Я получаю пустую страницу без ошибок даже в моем журнале. Маркер-носитель в порядке, я добавил его непосредственно в код для тестирования.Получение пустой страницы с помощью 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}}, "пользователей": { "/ Users/profile_banner": { "предел": 180, "остальные": 180, "сброс": 1373460189}, "/ пользователей/предложения /: пробкового/члены": { "предел": 15, "остальные": 15, "сброс": 1373460189}, "/ пользователей/показать /: идентификатор ": {" предел ": 180," остальные ": 180," сброс ": 1373460189},"/пользователей/предложения ": {" предел ": 15," остальные ": 15," сброс» : 1373460189}, "/ пользователи/поиск": { "предел": 60, "остальные": 60, "сброс": 1373460189}, "/ пользователей/предложения /: пробковый": { "предел": 15, "остальное ": 15," сброс ": 1373460189}}" последователей ": {"/последователей/список ": {" предел ": 30," остальные ": 30," сброс ": 1373460189},"/последователей/IDS» : { "предел": 15, "остальные": 15, "сброс": 1373460189}}, "статусы": { "/ статусы/показать /: идентификатор": { "предел": 180, "остальные": 180, "сброс": 1373460189}, "/ статусы/oembed": { "предел": 180, "остальные": 180, "сброс": 1373460189}, "/ статусы/retweeters/идентификаторы": { "предел": 60, "остальные": 60, "сброс": 1373460189}, "/ статусы/user_timeline": { "предел": 300, "остальные": 300, "сброс": 1373460189}, "/ статусы/ретвитов /: идентификатор": { "предел": 60,» Оставшиеся ": 60," Сброс ": 1373460189}}" помощь ": {"/помощь/конфиденциальность ": {" предел ": 15," остальные ": 15," Сброс ": 1373460189},"/Помощь/тос ": {" предел ": 15," остальные ": 15," сброс ": 1373460189},"/помощь/конфигурации ": {" предел ": 15," остальные ": 15," сброс ": 1373460189},"/помощь/языки ": {" предел ": 15," остальные ": 15," сброс ": 1373460189}}," друзья ": {"/друзей/иды ": {" предел ": 15," остальные ": 15, "сброс": 1373460189} "/ друзья/список": { "предел": 30, "остальные": 30, "сброс": 1373460189}}, "избранных": { "/ избранные/список": { "предел": 15, "остальные": 15, "сброс": 1373460189}}, "поиск": { "/ поиск/твитов": { "предел": 450, "остальные": 450, "сбросить": 1373460189 }}, "тенденция": { "/ тенденция/доступная": { "предел": 15, "остальное": 15, "сброс": 1373460189}, "/ тенденция/место": { "предел": 15,» Остальные ": 15," reset ": 1373460189},"/тенденции/ближайший ": {" limit ": 15," Осталось ": 15," reset ": 1373460189}}}}

+0

Установите 'CURLOPT_HEADER => false,' и покажите нам информацию, которую вы получаете. –

+0

Я не вижу ничего нового в вашем посте. –

+0

Просмотреть мои результаты для CURLOPT_HEADER => false выше. – Gee

ответ

0

Ваш заголовок авторизации выглядит неправильно , Чтобы сделать такой запрос, вам нужно сгенерировать подпись. Более подробная информация о Twitter development site

Я написал библиотеку CodeIgniter для создания запросов cURL в Twitter. Вы можете использовать его или просто извлечь из него биты кода. Репозиторий: 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);