Oauth, Twitter and others - Codeigniter PHP



我试图理解整个OAuth概念,但我未能能够推进我的应用程序。让我们从一些关于我想做什么的信息开始:

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

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

第三,我已经在Twitter上注册了我的应用程序,并拥有消费者密钥,消费者秘密,访问令牌和访问令牌秘密。

现在这是我认为我错了。假设我想要获取自己的时间轴。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,并尝试过phil Sturgeons OAuth spark,但找不到足够的例子来帮助我。我真的觉得这一切都很艰难。

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

谢谢大家,很抱歉这么长的问题!

詹姆斯

我知道这个问题很老了,但也许我能帮上忙。我发现这个指南非常有用,它解释了授权请求所需采取的步骤。我还创建了一个CodeIgniter库,用于使用Twitter API。这可能是一个工作,获得它的副本,并通过代码查看它是如何完成的。

最新更新