无法使用亚伯拉罕Twitter API SDK

时间:2013-10-22 10:59:05

标签: php api redirect twitter

我正在使用亚伯拉罕Twitter API SDK,我在执行index.php页面时遇到了一些问题。 在我的config.php页面中,我的代码就像这样

define('CONSUMER_KEY', 'xxxxxxxxxxxxxxxxxxxxxx');
define('CONSUMER_SECRET', 'xxxxxxxxxxxxxxxxxxxxxxxxxxx');
define('OAUTH_CALLBACK', 'http://example.com/callback.php');

当我在浏览器中打开索引文件时,它会重定向到connect.php 在这里,如果我点击Signin with PHP按钮,页面将重定向到redirect.php 在这里,我的问题来了。在redirect.php页面中,我包含了twitteroauth.php文件。

My redirect.php文件中的代码

/* Start session and load library. */
session_start();
require_once('twitteroauth/twitteroauth.php');
require_once('config.php');

/* Build TwitterOAuth object with client credentials. */
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);

/* Get temporary credentials. */
$request_token = $connection->getRequestToken(OAUTH_CALLBACK);

/* Save temporary credentials to session. */
$_SESSION['oauth_token'] = $token = $request_token['oauth_token'];
$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];

/* If last connection failed don't display authorization link. */
switch ($connection->http_code) {
  case 200:
    /* Build authorize URL and redirect user to Twitter. */
    $url = $connection->getAuthorizeURL($token);
    header('Location: ' . $url); 
    break;
  default:
    /* Show notification if something went wrong. */
    echo 'Could not connect to Twitter. Refresh the page or try again later.';
}

在我的twitteroauth.php文件中,构造函数看起来像这样

function __construct($consumer_key, $consumer_secret, $oauth_token = NULL, $oauth_token_secret = NULL) {
    $this->sha1_method = new OAuthSignatureMethod_HMAC_SHA1();
    $this->consumer = new OAuthConsumer($consumer_key, $consumer_secret);
    if (!empty($oauth_token) && !empty($oauth_token_secret)) {
      $this->token = new OAuthConsumer($oauth_token, $oauth_token_secret);
    } else {
      $this->token = NULL;
    }
  }

我在浏览器中收到的错误是

Notice: Undefined index: oauth_token in line 80
Could not connect to Twitter. Refresh the page or try again later.

我尝试过很多方法来解决这个问题。但我失败了。 请帮助我。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

我有类似的错误。我通过在我的Twitter应用程序设置中设置回调URL来解决它。 http://dev.twitter.com