Ответить на Tweet с Tweepy - Python - PullRequest
16 голосов
/ 17 февраля 2012

Мне не удается настроить твип на работу с ответом на конкретный твит:

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)

API говорит, что он принимает необязательные параметры, и in_reply_to_status_id является первым, но, похоже, игнорирует его вообще Этот скрипт публикует обновленный статус, но он не связывает его как ответ на передаваемый мною твит.

API для справки: http://code.google.com/p/tweepy/wiki/APIReference#update_status

У кого-нибудь есть идеи? Я чувствую, что здесь упускаю что-то простое ...

Заранее спасибо.

Ответы [ 5 ]

17 голосов
/ 21 мая 2012

Я столкнулся с той же проблемой, но, к счастью, я нашел решение. Вам просто нужно включить имя пользователя в твит:

api.update_status('@<username> My status update', tweetId)
13 голосов
/ 19 февраля 2012

Вы также можете сделать

api.update_status("my update", in_reply_to_status_id = tweetid)
12 голосов
/ 10 ноября 2012

Ну тогда это было что-то простое. Я должен был указать, на кого был направлен твит, используя @ нотацию.

api.update_status('My status update @whoIReplyTo',tweetId) 
1 голос
/ 17 мая 2017

Я обнаружил, что мне нужно было включить строку идентификатора твита (а не фактический идентификационный номер) при указании твита, на который я отвечал

api.update_status('@whoIReplyTo my reply tweet',tweetIdString) 
0 голосов
/ 07 ноября 2017

Это кажется ошибкой в ​​Tweepy - даже если вы сделаете вызов api.update_status с правильными параметрами,

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

твит не будет ответом,Чтобы получить ответ, вам нужно указать пользователя, которому вы хотите ответить на И , указать правильный идентификатор 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)

Имейте в виду - серверы Tweepy и Twitter по-прежнемувведите не более 140 символов, поэтому убедитесь, что вы отметили

len(reply_status) <= 140

Опять же, я думаю, что это ошибка, потому что в приложении Twitter вы можете отвечать, не вставляя имя пользователя, которому выотвечаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...