2011-11-04 60 views
0

我想要做的是一个Twitter机器人,用于转发我在DMbox中的任何内容。 所以我需要一些东西。我需要使用twitter api逐个获取直接消息

  1. 我需要关注所有关注我的用户。 (我做了)
  2. 我需要阅读的DMS(我要做)
  3. 鸣叫DM(我能做到这一点我猜)
  4. 删除读DMS(我不认为我西港岛线能够这样做没有帮助)

阅读DM的问题是我一次性得到所有的DMs。我怎么能一个一个地发布它,我的意思是我如何从这个响应中获得一个DM“$ _GET ['https://api.twitter.com/1/direct_messages.json']”

现在,在转发所有这些DM后,如何删除所有这些DM?

+0

最后你是如何得到这个的?我正在尝试做类似的事情,无论如何,我可以要求帮助代码?我相当新的PHP。提前谢谢了。 – 2012-01-11 20:58:49

回答

2

如果您使用的是REST API提供的GET direct_messages方法,则可以使用since_id,max_id和count的组合来请求比(max_id)更早或比(since_id)更近的一个DM(count)一些已知的DM。 https://dev.twitter.com/docs/api/1/get/direct_messages

下面是一个例子:https://api.twitter.com/1/direct_messages.json?count=1&since_id=1270520569

你已经抓住后,DM,因此,接受了它的ID,就可以使用上面的代码抓住你的下一个DM,并使用POST direct_messages删除当前消息/销毁/ :通过REST API也可以使用id方法。 https://dev.twitter.com/docs/api/1/post/direct_messages/destroy/%3Aid

这里是删除方法的一个例子:https://api.twitter.com/1/direct_messages/destroy/1270520569.json

为了让您使用开始您检索消息的过程中,第一DM,只需使用GET direct_messages为1的数和移动或向后转发(max_id或since_id)取决于Twitter如何订购推文。如果他们没有按时排序,你只需要在两个方向上进行探索。

+0

谢谢你,它真的解决了我的问题。但还有一件事。可以说我在我的收件箱里有3个dms。我怎么知道,如果完成阅读所有删除的所有内容? – defiant

+0

当您使用direct_messages方法时没有任何限制(since_id或max_id)并接收空的json对象时,您知道您的DM框为空。如果我已回答您的问题,请将其标为已回答。另外,如果您还有其他问题,请发布一个新问题。谢谢! – Damian

相关问题