目前,我们使用file_get_contents
查询twitter用户的时间线,以获得json提要,我们一次缓存一分钟,生活很好。然而,在我们数百个站点中的一些开始崩溃之后(当twitter帮助地开始删除旧的xml url时),我注意到它们明年将更改为api 1.1,我们需要对请求进行身份验证。
所以,我基本上是在寻找一个指向正确方向的简单指针。到目前为止,我假设如下:
新的获取资源看起来很相似,奖金!
因为我们只显示那个用户的tweets,所以我们只需要一个dev.twitter.com令牌
似乎我们需要为我们所做的每一个网站在该用户的帐户上创建一个新的令牌。
我们可能需要安装一个类似于twitterOAuth的库https://dev.twitter.com/docs/auth/oauth/single-user-with-examples#php
正如我所说,我们只是显示用户的推文谁拥有我们正在建设的网站。人们不会登录或发帖之类的。
我知道有嵌入的时间线,但这些几乎没有提供定制,我已经恨Facebook的'喜欢盒子'出于同样的原因。(但我也知道除了颜色之外,Twitter's 'Display Requirements'几乎没有灵活性……
所以,考虑到这一点,这是最简单的方法吗?这似乎相对比较直接(我的意思是twitteroauth在设置好get请求后会以7行或更少的行执行),最大的痛苦听起来像是必须通过获取访问密钥来与每个用户交谈。
谢谢。
最佳答案
Twitteroauth肯定会让你在这方面领先一步。请记住,虽然在twitter文档中,你只允许在15分钟内完成180个时间线请求,如果你超过了这个时间线,我想他们会限制你大约一个小时(可能会更少)。如果你想显示每一条tweet,你应该读一点关于timelines的内容,而不是你最后得到的id是什么。当然,如果你实时完成所有这些,那么你的网站在向twitter发出请求时会减速。
我不会使用file_get_contents
,主要是因为它比curl稍慢,twitteroauth提供了一个更好的接口imo,为您减少了编码,而且它在git中是可分叉的。
所以,是的,缓存您的结果,并留意您在1.1中分配的15分钟内发出了多少请求。如果你仔细检查,你会后悔一个小时,这适用于所有使用你的密钥的应用程序。
希望能帮上忙