正如我在v1.1文档中看到的那样,没有api。当有人发布推文时,什么是无痛的方式来发布或获取http请求到我的网络服务器?在我旁边创建5分钟的cron,检查用户的新推文时间表。我正在使用php。
答案 0 :(得分:0)
我通过使用RSS提要类(SimplePie)从Twitter获取推文(Twitter为每个成员提供RSS URL)来解决这个问题。
我的脚本将推文加载到数据库中。如果最新数据库条目早于某个限制,则会发出新的订阅源请求。我这样做是为了让我没有提出太多的Feed请求。例如,如果您有十个人同时访问该页面,那么同时重载Twitter的十个RSS提要请求是没有意义的。
在显示推文的页面上,我创建了一个AJAX函数,定期向服务器发送请求(使用setInterval()
)以查看是否有新内容。
事实证明这是一个非常复杂的项目,所以使用Twitter提供的小部件要容易得多。
<强>更新强>
我刚刚发现上个月,我相信是2013年6月12日,Twitter关闭了RSS feed API,因此该选项不再可用。似乎有一些解决方法,但最可靠的解决方案是使用Twitter提供的小部件。
答案 1 :(得分:0)
不,每隔x分钟检查新推文的循环似乎是最好的解决方案 - crons是为这类事情而制作的。
由于RSS 已移除且通过Twitter API返回的仅响应格式现在为 json ,您将会看到仅对json使用服务器端经过身份验证的请求。
如果我在你的位置,我会做以下事情:
因此,您将利用请求中的from:
字段指定要检查的用户,并将count
变量指定为1
。这意味着你要求尽可能少的数据,你只需要在json响应中有一条推文来抗衡。使用search/tweets端点。示例:?q=from:username&count=1
。
现在你可以将推文存储在数据库中(额外的开销)或平面文本文件(不应该是一个问题,无论如何推文都在公共领域)。或者,返回最后的两条推文,如果它们不同,则显示最新的 - 只有在他们没有发送两次,非常快的时候才会有效。
您将需要一个简单的库来进行经过身份验证的请求。我建议在PHP中检查this post,它解释了所有内容并且尽可能少的代码。这是library。
最后,我不知道这是否会有所帮助,但我偶然发现twoti声称在发现推文时通过电子邮件发送给您。我猜,实际上,这个架构与我刚才描述的架构类似,但服务会将您的数据检索卸载到他们的服务器上,因此您可以通过检查电子邮件地址(可能有新推文的'推送'通知)。祝你好运!