Tweepy /如何使用direct_messages方法来获取旧的DM?

时间:2016-05-04 01:36:44

标签: python tweepy

我非常非常熟悉Python,是的,Tweepy。

我想,比如看看自从这样的DM以来我收到的所有DM的文本。

import tweepy

consumer_key = "XXXX"
consumer_secret = "YYY"

access_token = "ZZZ"
access_token_secret = "AAA"

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

api = tweepy.API(auth)


since_id = "11223344556677889" 
#This is the ID of a month-old DM.  I want to get "all" DMs since then, tho I think I'm limited to 200 per call huh?

direct_messages = tweepy.Cursor(api.direct_messages, since_id=since_id).items()

for dm in direct_messages:
        print dm.text

这给了我最近的200个DM。那不是我想要的。我想要旧的DM,从since_id开始。

FWIW,我知道DM存在,因为这会正确地返回它:

dm = api.get_direct_message(since_id)
    print dm.text

1 个答案:

答案 0 :(得分:0)

看起来它是一个Twitter API限制:

  

返回发送到身份验证的20条最新直接消息   用户。包括有关发件人和收件人的详细信息   用户。每次通话最多可以请求200条直接消息,只有   使用此端点可以获得最近的200个DM。

https://dev.twitter.com/rest/reference/get/direct_messages