Вопрос

Кажется, я не могу заставить tweepy работать с ответом на конкретный твит:

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 является первым, но, похоже, он вообще игнорирует его.Этот скрипт опубликует обновленный статус, но он не связывает его как ответ на tweetID, который я передаю.

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

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

Заранее благодарю.

Это было полезно?

Решение 3

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

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

Другие советы

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

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

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

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

Просто публиковать решение, чтобы никто другой не страдал так, как я. Twitter обновил API и добавил вариант с именем auto_populate_reply_metadata

Все, что вам нужно сделать, это установить это истинно, а остальное оставляет, как и следовало бы. Вот образец:

api.update_status(status = 'your reply', in_reply_to_status_id = tweetid , auto_populate_reply_metadata=True)

Кроме того, STATUS_ID - это длинный набор цифр в конце твит -URL. Удачи!

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

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

Похоже, это ошибка в 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 вы можете отвечать, не вводя имя пользователя человека, которому вы отвечаете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top