2015-09-29 2 views
0

Привет, я пытаюсь сделать API twitter. Я использую oAuth для его аутентификации. Проблема в том, что он ничего не делает, я получил то же самое, что и в руководстве, которое им следует. Могу ли я ошибиться в конфигурации или в моем коде?Twitter oauth cant get callback

<?php 
    require("src/TwitterOAuth.php"); 
    session_start(); 

    $twitteroauth = new TwitterOAuth("CONSUMER KEY", "CONSUMER SECRET KEY"); 
    $request_token = $twitteroauth->getRequestToken("http://127.0.0.1:22119/twitter_login.php"); 

    $_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.'); 
    } 


?> 

Вот скриншот моих настроек приложения щебета: http://i.imgur.com/De2XzWU.png

Руководство им следующее: http://code.tutsplus.com/tutorials/how-to-authenticate-users-with-twitter-oauth--net-13595

Заранее спасибо

ответ

1

в первую очередь вам нужно добавить новое приложение в твиттер профиль Dev , и вам нужно указать URL-адрес обратного вызова, чем если вы используете фрейм mvc-фрейм, вам нужно перейти к вашему контроллеру в твиттере, вам нужно добавить следующее:

// TWITTER APP KEYS 
    $consumer_key = 'something you get from twitter dev'; 
    $consumer_secret = 'other thing you get from twitter dev'; 
// CONNECTION TO THE TWITTER APP TO ASK FOR A REQUEST TOKEN 
    $connection = new TwitterOAuth($consumer_key, $consumer_secret); 
    $request_token = $connection->oauth("oauth/request_token", array(
     "oauth_callback" => "http://something/otherthing" 
    )); 
// TAKING THE OAUTH TOKEN AND THE TOKEN SECRET AND PUTTING THEM IN COOKIES (NEEDED IN THE NEXT SCRIPT) 
    $oauth_token = $request_token['oauth_token']; 
    $token_secret = $request_token['oauth_token_secret']; 

, если вы хотите, вы можете поместить некоторые переменные в печенье для использования отца:

setcookie("token_secret", " ", time() - 3600); 
    setcookie("token_secret", $token_secret, time() + 60 * 10); 
    setcookie("oauth_token", " ", time() - 3600); 
    setcookie("oauth_token", $oauth_token, time() + 60 * 10); 

, чем вы должны спросить твиттер санкционировать ваше приложение

// GETTING THE URL FOR ASKING TWITTER TO AUTHORIZE THE APP WITH THE OAUTH TOKEN 
    $url = $connection->url("oauth/authorize", array(
     "oauth_token" => $oauth_token 
    )); 

и последняя вещь вам нужно сделать это, чтобы отобразить URL-адрес, в основном это означает, что после того, как пользователь дал свое согласие, нам нужно перенаправить его на другую страницу, где мы могли бы использовать больше возможностей twitter Oauth:

// REDIRECTING TO THE URL 
    header('Location: ' . $url); 
} 

пожалуйста гляньте Авраамово Twitter OAuth это можно загрузить его с помощью composer.json:

{ 
"type": "package", 
"package": { 
    "name": "abraham/twitteroauth", 
    "description": "Twitter oauth", 
    "version": "dev-dev", 
    "keywords": ["Twitter API", "Twitter oAuth"], 
    "license": "MIT", 
    "authors": [ 
     { 
     "name": "Abraham Williams", 
     "email": "[email protected]" 
     } 
    ], 
    "require": { 
     "php": ">=5.3.2" 
    }, 
    "autoload": { 
     "files": ["twitteroauth/OAuth.php"] 
    }, 
    "source": { 
     "type": "git", 
     "url": "https://github.com/abraham/twitteroauth", 
     "reference": "origin/dev" 
    } 
}}]