我正在用PHP和MySQL编写Web应用程序。我希望用户能够通过Twitter与网站进行互动。如果您熟悉RememberTheMilk如何将twitter作为创建任务和其他活动的手段,那么您就可以了解我想要实现的目标。
互动很简短。例如:User_Jay向我的Twitter帐户发送直接消息;我的应用程序经常检查直接消息流,当它看到User_Jay的消息时,应用程序识别关键短语并执行一些代码;当代码执行完毕后,应用程序会向User_Jay发送一条直接消息。结束。
我不知道哪个推特库最适合这项工作。我也不确定如何根据直接消息为特定用户执行代码。
_
作为参考,用户将在实际网站上创建帐户,并且他们将能够在那里声明他们的推特用户名
此外,非常感谢示例代码或实现此类事物的示例代码的链接。
答案 0 :(得分:0)
您可以将Twitter流API用于直接消息。首先,你不必用PHP编写它。虽然您可能使用PHP编写网站,但这并不意味着您必须使用PHP来获取推文的后台流程。
首先,您需要一些处理User Streams API数据的代码。我不确定PHP有一个,但phirehose接近。有一个补丁可以让它支持用户流。
如果找不到支持用户流的PHP库,我建议您考虑使用Ruby。在Ruby中编写守护进程非常容易,你可以使用支持用户流的twitterstream这样的库。
然后你需要编写一些基本上处理用户流的代码:检查你得到的东西是否是直接消息并将其放入数据库。您可能还想考虑一下如果受欢迎您打算做什么,并考虑队列和数据库速度等等。如果您要发送回复,则需要考虑API速率限制等。
使用流API非常类似于使用pull API:您将获得一组带有一组键值对的JSON。您如何确定您正在处理哪个用户?好吧,你看一下用户密钥并找到他们的用户名。
您还需要提供使用DM与网站交互的语法,并且您需要创建基于正则表达式的解析器,或者可能使用词法分析器。您还需要使用单元测试等进行相当难的测试。您正在接受用户的文字:不要相信它!
流API不是唯一的方法:您还可以运行cron作业并检查API以获取新消息。这更容易,但不太好。