2012-02-17 13 views
10

io non riesco a ottenere tweepy a lavorare con rispondendo ad una specifica Tweet:Rispondi Tweet con Tweepy - Python

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) 
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET) 

api = tweepy.API(auth) 

### at this point I've grabbed the tweet and loaded it to JSON... 

tweetId = tweet['results'][0]['id'] 

api.update_status('My status update',tweetId) 

l'API dice che ci vuole parametri opzionali e in_reply_to_status_id è il primo, ma sembra per ignorarlo del tutto. Questo script pubblicherà uno stato aggiornato, ma non lo collegherà come risposta al tweetId che sto passando.

API di riferimento: http://code.google.com/p/tweepy/wiki/APIReference#update_status

Qualcuno ha qualche idea? Mi sento come se mi mancasse qualcosa di semplice qui ...

Grazie in anticipo.

+0

Bene, allora era qualcosa di semplice. Dovevo specificare a chi era indirizzato il tweet per usare la notazione @. api.update_status ('My status update @ whoIReplyTo', tweetId) – mcriecken

risposta

9

Bene, allora era qualcosa di semplice. Dovevo specificare a chi era indirizzato il tweet per usare la notazione @.

api.update_status('My status update @whoIReplyTo',tweetId) 
+1

Ha funzionato la prima volta. Mi mancava il numero identificativo del tweet. Grande domanda e risposta - grazie! – Adjam

12

Si può anche fare

api.update_status("my update", in_reply_to_status_id = tweetid) 
+0

Questa dovrebbe essere l'opzione migliore – user3378649

+1

Questo non ha funzionato per me. È necessario aggiungere l'handle dell'utente nel Tweet per essere una risposta. Altrimenti verrà conteggiato come nuovo Tweet da te, non come risposta a un Tweet esistente. –

13

Ho incontrato lo stesso problema, ma per fortuna ho trovato la soluzione. Hai solo bisogno di includere screen_name dell'utente nel tweet:

api.update_status('@<username> My status update', tweetId) 
+0

Ore trascorse cercando di capire il problema e finalmente trovato questa soluzione! Grazie! – thameera

+0

Lo stesso problema qui ... questa è l'unica risposta che ha funzionato per me. Grazie amico! – CoderOfTheNight

0

ho scoperto che ho dovuto includere stringa ID del Tweet (piuttosto che il numero ID reale) quando si specifica il tweet che stavo rispondendo alle

api.update_status('@whoIReplyTo my reply tweet',tweetIdString) 
0

Questo sembra essere un bug in Tweepy - anche se si effettua una chiamata a api.update_status con i parametri corretti impostati,

api.update_status(status=your_status, in_reply_to_status=tweet_to_reply_to.id) 

il tweet non sarà una risposta. Per ottenere una risposta, è necessario menzionare l'utente che si desidera rispondere a E specificare l'id corretto in_reply_to_status.

reply_status = "@%s %s" % (username_to_reply_to, your_status) 
api.update_status(status=reply_status, in_reply_to_status=tweet_to_reply_to.id) 

Occorre tuttavia tenere presente - server Tweepy e Twitter è ancora applicare un numero massimo di 140 caratteri, quindi assicuratevi di controllare che

len(reply_status) <= 140 

Anche in questo caso, credo che questo sia un errore, perché sul Twitter app, puoi rispondere senza incorporare il nome utente della persona a cui stai rispondendo.

Problemi correlati