2016-07-09 7 views
0

私はこのようなつぶやきを投稿する私のWebアプリケーションでpython-twitterを使用しています:投稿されたつぶやきをpython-twitterですべて取得するにはどうすればいいですか?

import twitter 
twitter_api = twitter.Api(
    consumer_key="BlahBlahBlah", 
    consumer_secret="BlahBlahBlah", 
    access_token_key="BlahBlahBlah", 
    access_token_secret="BlahBlahBlah", 
) 
twitter_api.PostUpdate("Hello World") 

は、どのように私は(以前に他のTwitterクライアントからこのアカウントに投稿したツイートを含む)このアカウントに投稿されたすべてのツイートを取得するのですか?それぞれのツイートにtwitter_api.destroyStatus()と呼んで、すべて削除できるようにしたいと思います。

答えて

1

一つのアプローチは、次のように考えられます

import twitter 
api = twitter.Api(consumer_key='consumer_key', 
         consumer_secret='consumer_secret', 
         access_token_key='access_token', 
         access_token_secret='access_token_secret') 

# get user data from credentials 
user_data = api.VerifyCredentials() 

user_id = long(user_data.id) 
max_status_id = 0 

# repeat until all tweets are deleted 
while True: 

    # let us get 200 statuses per API call. 
    # trim_user helps improve performance by reducing size of return value 
    timeline_args = {'user_id': user_id, 'count': 200, 'trim_user': 'true'} 

    # if not first iteration, use max_status_id seen so far 
    if max_status_id != 0: 
    timeline_args['max_id'] = max_status_id 

    # Get statuses from user timeline 
    statuses = api.GetUserTimeline(**timeline_args) 

    #if no more tweets are left, then break the loop 
    if statuses is None or len(statuses) == 0: 
    break 

    for status in statuses: 
    # remember max_status_id seen so far 
    max_status_id = long(status.id) - 1 

    # delete the tweet with current status[id] 
    api.DestroyStatus(status.id) 
+0

ありがとう!私の編集が受け入れられたら、この答えを正しいものとしてマークします。 –

+0

訂正していただきありがとうございます。 – Kevin

関連する問題