Twitter O-Auth 回调网址

标签 twitter oauth

我在使用 Twitter 的 oauth 身份验证和使用回调 url 时遇到问题。

我正在使用 php 编码并使用 twitter wiki 引用的示例代码 http://github.com/abraham/twitteroauth

我得到了那个代码,并尝试了一个简单的测试,它运行良好。但是我想以编程方式指定回调 url,示例不支持。

所以我很快修改了 getRequestToken() 方法来接受一个参数,现在它看起来像这样:

function getRequestToken($params = array()) {
  $r = $this->oAuthRequest($this->requestTokenURL(), $params);
  $token = $this->oAuthParseResponse($r);
  $this->token = new OAuthConsumer($token['oauth_token'], $token['oauth_token_secret']);
  return $token;
}

我的电话看起来像这样
$tok = $to->getRequestToken(array('oauth_callback' => 'http://127.0.0.1/twitter_prompt/index.php'));

这是我所做的唯一更改,并且重定向就像一个魅力,但是当我尝试使用我新授予的访问权限来尝试调用电话时出现错误。我收到“无法对您进行身份验证”错误。此外,该应用程序实际上从未被添加到用户授权连接中。

现在我阅读了规范,我认为我所要做的就是在获取请求 token 时指定参数。在 oauth 和 twitter 方面经验更丰富的人可以帮帮我吗?谢谢你

最佳答案

我认为这已由 twitter 修复,或者您可能错过了在应用程序设置中提供默认回调 url,这是动态回调 url 所必需的,如上面其他人所提到的那样。

无论如何,我通过在检索请求 token 时传递 oath_callback 参数来完成这项工作。我正在使用 twitter-async PHP 库,并且必须进行一些小调整以使库通过回调 url。

如果您使用的是 twitter-async,则更改如下:

修改 getRequestToken 和 getAuthenticateURL 函数以将回调 url 作为参数

 public function getRequestToken($callback_url = null)
  {
    $params = empty($callback_url) ? null : array('oauth_callback'=>$callback_url);
    $resp = $this->httpRequest('GET', $this->requestTokenUrl, $params);
    return new EpiOAuthResponse($resp);
  }


 public function getAuthenticateUrl($callback_url = null)
  { 
    $token = $this->getRequestToken($callback_url);
    return $this->authenticateUrl . '?oauth_token=' . $token->oauth_token;
  }

并从您的 PHP 代码中传递回调 url。
$twitterObj->getAuthenticateUrl('http://localhost/twitter/confirm.php');

关于Twitter O-Auth 回调网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1488278/

相关文章:

python - GetUserTimeline 总是返回我自己的时间线

c# - 异步 Twitter 搜索

ios - gdb 远程返回错误 e08

java - 有没有办法列出用户的所有推文?

javascript - 如何在 NodeJS 中正确签署对 Twitter REST API v1.1 的 HTTP 请求?

ios - 如何获取在闭包中分配的变量的值(Swift)

twitter - Meteor 账户-twitter 无法使用

java - 适用于 Android 的 Fitbit,每次启动应用程序时自动获取用户数据,无需 OAuth

oauth - 通过 Oauth 以编程方式从 Gmail 注销

ruby-on-rails - Jawbone Up API 和 Ruby on Rails 的 401 未经授权错误