2013-12-15 20 views
0

我已閱讀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存儲。如果我錯了,請告訴我!

回答

2

布萊恩,比上屆200級的消息更

Twitter的商店,如果你要刪除使用destroy_direct_message直接消息1,那麼您可以訪問1除了舊直接留言。

刪除100箇舊直接信息將給您額外的100條短信等

我既不讓max_id也不頁面工作無論是。不知道是否在Twython或Twitter ;-(

JJ

1

目前的bug吧,API代表你可以得到高達帳戶的最新3200鳴叫,但只有200最新收到直接消息( direct_messages終點)從談話或800最新發送直接消息(direct_messages/sent終點)。

要回答你的問題,我不認爲這是由Twitter的「存儲」直接郵件的數量的限制。最近,我已經能夠檢索一個以上的完整對話7000個直接郵件(以及所有上傳的媒體)使用我爲此創建的tool