Parece que no puedo trabajar con Tweepy para responder a un tweet específico:
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)
La api dice que toma parámetros opcionales e in_reply_to_status_id es el primero, pero parece ignorarlo por completo. Este script publicará un estado actualizado, pero no lo vinculará como respuesta al tweetId que estoy pasando.
API para referencia: http://code.google.com/p/tweepy/wiki/APIReference#update_status
¿Alguien tiene alguna idea? Siento que me estoy perdiendo algo simple aquí …
Gracias por adelantado.
Me encontré con el mismo problema, pero afortunadamente encontré la solución. Solo debes incluir el nombre de pantalla del usuario en el tweet:
api.update_status('@ My status update', tweetId)
Tambien puedes hacer
api.update_status("my update", in_reply_to_status_id = tweetid)
Pues bien, era algo simple. Tuve que especificar a quién estaba dirigido el tweet para usar la notación @.
api.update_status('My status update @whoIReplyTo',tweetId)
Descubrí que tenía que incluir la cadena de ID del tweet (en lugar del número de ID real) al especificar el tweet al que respondía
api.update_status('@whoIReplyTo my reply tweet',tweetIdString)
Esto parece ser un error en Tweepy, incluso si realiza una llamada a api.update_status con los parámetros correctos establecidos,
api.update_status(status=your_status, in_reply_to_status=tweet_to_reply_to.id)
El tweet no será una respuesta. Para obtener una respuesta, debe mencionar el usuario al que desea responder Y especificar la identificación correcta en_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)
Sin embargo, tenga en cuenta que los servidores de Tweepy y Twitter aún aplican un número máximo de 140 caracteres, así que asegúrese de verificar que
len(reply_status) <= 140
Nuevamente, creo que esto es un error porque en la aplicación de Twitter, puedes responder sin incrustar el nombre de usuario de la persona a la que respondes.