我已閱讀Twitter REST API文檔,我知道它說你可以一次獲取200個最大值爲800的值。但是......我不能。我拉200,使用最後一條推文作爲max_id,然後發送另一個請求,但我只收到來自第一個請求的最後一條推文,而不是我所假定的800條限制的剩餘推文。twitter存儲了多少條直接郵件?
因此,我做了一些調查,發現當我從其他帳戶發送更多直接消息時,其他直接消息正在消失(即,如果我從名爲「sup」的帳戶收到200封郵件,來自名爲「foo」,「sup」的賬戶的5條消息將僅顯示195條直接消息,「foo」將顯示5.這5條消息將在twitter DM窗口以及API調用中從「sup」消失
我正在使用Twython來做到這一點,但我不認爲切換回請求會改變任何事情,因爲我可以看到消息從聊天記錄中消失。這是否意味着Twitter只會存儲200個DM的總數?或者我做了一件完全錯誤的事情。
這是我用來提取直接消息的代碼。請記住,我仍然不知道如何解釋DM在twitter DM控制檯中消失。
test_m = twitter.get_direct_messages(count=200)
i = 0
for x in test_m:
print 'dm number = ' + str(i) + '| dm id= '+ str(x['id']) + ' |text= ' + x['text']
i += 1
m_id = test_m[-1]['id']
test_m_2 = twitter.get_direct_messages(count=200, max_id=m_id)
該代碼將返回test_m如200項的數組,並作爲test_m_2 1項的陣列,含有test_m的最後一個元素。
編輯:好吧,沒有反應,但我想我應該補充說,這個方法成功地返回了200多條消息,用於其他API調用(用戶時間軸,提及時間軸,轉推)。從我的測試中,我必須假設在整個DM交互過程中只有200個傳入消息被Twitter存儲。如果我錯了,請告訴我!