【问题标题】:How many direct messages does twitter store?Twitter 存储了多少条直接消息?
【发布时间】:2016-10-10 06:11:18
【问题描述】:

我已阅读 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 条传入消息。如果我错了,请告诉我!

【问题讨论】:

    标签: twitter twython


    【解决方案1】:

    布赖恩,

    Twitter 存储了超过最后 200 条消息,如果您要使用 destroy_direct_message 删除 1 条私信,那么您可以访问 1 条添加的旧私信。

    删除 100 条旧的直接消息将使您可以访问额外的 100 条消息等。

    我既不让 max_id 也不让 page 工作。不确定是 Twython 还是 Twitter 中的错误;-(

    JJ

    【讨论】:

      【解决方案2】:

      目前,API 支持您获取帐户的最新 3200 条推文,但只能获取来自对话的 200 条最新收到直接消息(direct_messages 端点)或 800 条最新发送直接消息(direct_messages/sent端点)。

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

      【讨论】:

        猜你喜欢
        • 2011-09-17
        • 1970-01-01
        • 1970-01-01
        • 2019-02-21
        • 2018-05-09
        • 2017-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多