2016-07-09 11 views
0

Ich verwende python-twitter in meiner Web Application Tweets wie folgt zu schreiben:Wie kann ich alle meine geposteten Tweets mit Python-Twitter abrufen?

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") 

Wie rufe ich alle auf dieses Konto gebucht Tweets (einschließlich Tweets, die zuvor auf dieses Konto von anderen Twitter-Clients geschrieben wurden)? Ich möchte das tun, damit ich sie alle löschen kann, indem ich twitter_api.destroyStatus() auf jedem Tweet nenne.

Antwort

1

Ein Ansatz wie folgt sein könnte:

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

Dank! Nachdem meine Änderungen akzeptiert wurden, werde ich diese Antwort als die richtige markieren. –

+0

Danke für die Korrektur. – Kevin