【问题标题】:Oauth, Twitter and others - Codeigniter PHPOauth、Twitter 和其他 - Codeigniter PHP
【发布时间】:2013-08-21 17:47:33
【问题描述】:

我试图了解整个 OAuth 概念,但无法继续我的申请。让我们从一些关于我想做的事情的信息开始:​​

首先,我正在为自己在 Codeigniter 中编写一个博客应用程序。在这个博客上,我想展示一些我在网络上共享的数据,比如推文、flickr、500px 照片、声音云音轨等。我从 Twitter 开始。我知道我可以使用 twitter appltes 等,但我希望这一切都在本机代码中,以便我可以理解整个 OAuth 过程。

其次,twitter 上的所有数据,500px 等都是我的——没有人会登录我的博客,因此我对“用 twitter 登录”类型的东西不感兴趣。

第三,我已经在 Twitter 上注册了我的应用,并且拥有 Consumer Key、Consumer Secret、Access Token 和 Access Token secret。

现在这就是我认为我出错的地方。可以说我想抓住自己的时间线。 twitter API 说这需要经过身份验证。我不能只传递我的两个密钥和我的访问令牌来检索我的时间线吗?

我尝试了各种方法,但一直收到以下错误:

{"errors":[{"message":"Invalid or expired token","code":89}]}

我知道我的访问令牌是正确的,因为我可以在我的 twitter api 面板中看到它。

如果我拨打这个电话,我知道它不需要身份验证,它会很好地返回我的用户详细信息:

$user = $this->rest->get('http://twitter.com/users/show', array('screen_name' => 'jamesstoddern'));

但是,如果我尝试使用类似这样的方式连接到我的时间线,则会失败并出现上述错误。

$authArray = array(
        'consumer_key' => 'MY KEY HERE',
        'consumer_secret' => 'MY SECRET HERE',
        'username' => 'jamesstoddern',
        'access_token' => 'MY ACCESS TOKEN HERE'
    );

$timeline = $this->rest->get('https://api.twitter.com/1/statuses/home_timeline.json', $authArray);

我显然做错了什么,但我发现的所有示例似乎都是关于使用“使用 twitter 登录”按钮验证其他用户,而不仅仅是静默验证您自己的应用程序。

如果有人可以给我一些指示或示例,我会非常感激。

我正在使用 Codeigniter,并尝试过 Phils Sturgeons OAuth spark,但找不到足够的示例来帮助我。我真的觉得这一切都是一场斗争。

请有人解释我需要采取哪些步骤来静默验证我自己的应用程序,以便我可以调用我自己的 Twitter 资源。一旦我理解了这个概念,我应该能够应用相同的逻辑和理解来连接到我的 500 像素照片。我不想使用 twitter 特定的代码,并且希望使所有这些尽可能通用,以便我可以在理论上连接到任何 API。

谢谢大家,对于这么冗长的问题感到抱歉!

詹姆斯

【问题讨论】:

    标签: api codeigniter twitter oauth


    【解决方案1】:

    我知道这个问题已经很老了,但也许我可以提供帮助。我发现this guide 真的很有帮助,它解释了授权请求所需的步骤。我还创建了一个CodeIgniter library 用于使用 Twitter API。获取它的副本并查看代码以查看其完成方式可能是一项工作。

    【讨论】:

    • Cheers Pattle,我会看看指南和您的库 - 非常有用。再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    • 2011-06-18
    • 2011-10-04
    • 2011-12-26
    相关资源
    最近更新 更多