我需要使用twitter api一个接一个地获得直接消息


I need to get the Direct Messages one by one using twitter api

我想做的是一个twitter机器人,用于转发我在DMbox中的任何内容。所以我需要一些东西

    我需要关注所有关注我的用户。(我做了)
  1. 我需要读取dm(我必须这样做)
  2. 推特DM(我猜我能做到)
  3. 删除读取DMS(我不认为我将能够做到没有帮助)

阅读dm的问题是我一次得到所有的dm。我怎么能一个一个地推,我的意思是我怎么能从我得到的"$_GET['https://api.twitter.com/1/direct_messages.json']"的响应中得到一个DM

现在转发了所有这些dm,我怎么能删除它们呢?

如果您正在使用REST API提供的GET direct_messages方法,您可以使用since_id, max_id和count的组合来请求一个比(max_id)早的DM (count)或比(since_id)最近的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/destroy/:id方法删除当前消息,该方法也可以通过REST API获得。https://dev.twitter.com/docs/api/1/post/direct_messages/destroy/%3Aid

下面是一个delete方法的例子:https://api.twitter.com/1/direct_messages/destroy/1270520569.json

要获取用于开始检索消息过程的第一个DM,只需使用计数为1的get direct_messages,并根据Twitter对tweet的排序方式向后或向前移动(max_id或since_id)。如果它们不是按时间排序的,你就只能从两个方向探索了。