2016-07-09 4 views
0

Я использую 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

Смежные вопросы