2011-11-04 82 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