Xwab
Форумыnavigate_nextПрограммирование на PHP

Twitter API
Сообщения
Jadson

Может кто подскажет в чем дело, настраивал Twitter API, вышло что тупо в начале работы скрипт выдает ошибку где не должен, выдает Something wrong happened, на денвере все нормально выполняется, а вот на хосте ошибку пишет, хост Zeoshost, думаю что скорее всего проблема в нем, точнее в том что на хосте отключено то, что на денвере включено  раньше всегда наоборот было, на самом сайте не нашел информации, может тут кто подскажет, вот тот кусок кода:

    $twitteroauth = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);   
    $request_token = $twitteroauth->getRequestToken(CALLBACK_URL);
   
    $_SESSION['oauth_token'] = $request_token['oauth_token']; 
    $_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret']; 
                 
    if($twitteroauth->http_code==200){ 
        $url = $twitteroauth->getAuthorizeURL($request_token['oauth_token']);     
        header('Location: '. $url);
    } else {         
        die('Something wrong happened.'); 

$this->http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE);
Думаю стоит ещё библиотеку выложить есть ответа не будет, но там функций много, те которые и не надо здесь
Неужели дело в CURL

24 Июл 2012, 17:20
iNeeXT

Как я понял по коду $twitteroauth->http_code выдает не 200, посмотри что пишет эта переменная и глянь по мануалу.

24 Июл 2012, 17:32
Jadson

Выдает 0, оказалось что $request_token = $twitteroauth->getRequestToken(CALLBACK_URL); должен быть массив с данными, а тут возвращает пустой массив.
Пока думаю что проблема в этой функции, щас попробую от регулярок избавиться, помню где то читал такое, то ли фейсбук то ли твитер, хотя смысла нет в этом
  function getRequestToken($oauth_callback = NULL) {
    $parameters = array();
    if (!empty($oauth_callback)) {
      $parameters['oauth_callback'] = $oauth_callback;
    }
    $request = $this->oAuthRequest($this->requestTokenURL(), 'GET', $parameters);
    $token = OAuthUtil::parse_parameters($request);
    $this->token = new OAuthConsumer($token['oauth_token'], $token['oauth_token_secret']);
    return $token;
  }


__________
посл.ред. 24 Июл 2012, 18:03; всего 1 раз 24 Июл 2012, 18:01
Maus

Jadson, скобку "}" в конце добавь.

24 Июл 2012, 18:03
Jadson

Maus пишет:
"Jadson, скобку "}" в конце добавь."

То я скопировал без нее, на денвере говорю же работает все, там дальше код идет просто

24 Июл 2012, 18:05
Maus

Поздновато ответил, уходил по делам, а страница не до грузилась - пришел отправил заново!)

24 Июл 2012, 18:06
Jadson

Думаю проблема в этом - http://www.parser.ru/ на денвере он установлен, а вот на хостинге хз, лазил по функциям, вроде бы все нормально, но заметил такое:
$token = OAuthUtil::parse_parameters($request);
    $this->token = new OAuthConsumer($token['oauth_token'], $token['oauth_token_secret']);
Если не в этом причина, тогда не знаю почему на денвере работает все

24 Июл 2012, 18:35
Анархист

Jadson,возможно дело в CURL.
проверь версию curl на хостинге и сравни с версией на денвере.
-
http://www.php.net/manual/ru/function.curl-version.php
добавлено спустя 6 минут:
Twitter API
-
https://dev.twitter.com/docs/twitter-libraries#php
добавлено спустя 49 минут:
Пробуй

24 Июл 2012, 22:10
Jadson

Документацию читал, там ответа нет, дал данные хостеру, пусть посмотрит, может она поймет в чем дело

25 Июл 2012, 8:31
xman12

Jadson, проверь в апи используется опция CURLOPT_FOLLOWLOCATION при использовании curl , эта опция служит для перехвата переадресаций ,если она используется то возможно она на хосте просто напросто не работает так как для её работы требуется откл safe_mode и отключено должно быть open_basedir что как правило на хостингах не отключено. я вижу только в этом проблему, сам не тестил эту апи

Гляну по быстрому один файлик увидел CURLOPT_FOLLOWLOCATION => $this->config['curl_followlocation'], судя по всему эта опция используется, и следовательно вопрос встает о том чтобы твой хостер отключал safe_mode и open_basedir но он может сказать что это не предоставляется на твоем тарифе или же вообще отказаться настраивать

25 Июл 2012, 8:38
Ответить на тему