twitter存储了多少直接消息?

时间:2013-12-15 23:55:35

标签: twitter twython

我已经阅读了Twitter REST API文档,我知道它说你可以一次获取200个最多800个。但是......我不能。我正在拉200,使用最后一条推文作为max_id,然后发送另一个请求,但我只收到第一个请求的最后一条推文,而不是我假设的800限制的剩余。

所以我做了一些研究,我发现当我从其他帐户发送更多直接消息时,我的其他直接消息正在消失(即,如果我从一个名为“sup”的帐户收到200条消息,我发送了5条消息来自名为“foo”,“sup”的帐户的消息将仅显示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的最后一个元素。

编辑:嗯,还没有回复,但我想我应该补充说,这个方法成功地为我所做的其他api调用返回了200多条消息(用户时间线,提及时间轴,转发)。根据我的测试,我必须假设在所有DM交互中,twitter只存储了200条传入消息。如果我错了,请告诉我!

2 个答案:

答案 0 :(得分:2)

布赖恩,

Twitter存储的邮件超过最近200封,如果您要使用destroy_direct_message删除1条直接邮件,则可以访问1条旧的直接邮件。

删除100条旧的直接消息将允许您访问另外100条消息等。

我既不使max_id也不使页面工作。不确定Twython或Twitter中的错误; - (

JJ

答案 1 :(得分:1)

目前,API代表您可以访问最新的3200条推文,但只有200条最新收到直接消息(direct_messages端点)来自对话或800最新消息已发送直接消息(direct_messages/sent端点)。

要回答您的问题,我认为Twitter“存储”的直接消息数量不受限制。最近,我已经能够使用我为此目的创建的tool检索超过17000个直接消息(以及所有上传的媒体)的完整对话。