Ответ 1
Ну, тогда это было что-то простое. Я должен был указать, кто из твиттов был направлен на использование нотации @.
api.update_status('My status update @whoIReplyTo',tweetId)
Я не могу заставить 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 является первым, но, похоже, он вообще игнорирует его. Этот script будет публиковать обновленный статус, но он не связывает его как ответ на tweetId, который я передаю.
API для справки: http://code.google.com/p/tweepy/wiki/APIReference#update_status
У кого-нибудь есть идеи? Я чувствую, что мне не хватает чего-то простого здесь...
Спасибо заранее.
Ну, тогда это было что-то простое. Я должен был указать, кто из твиттов был направлен на использование нотации @.
api.update_status('My status update @whoIReplyTo',tweetId)
Я столкнулся с той же проблемой, но, к счастью, нашел решение. Вам просто нужно указать имя пользователя user_name в твиттере:
api.update_status('@<username> My status update', tweetId)
Вы также можете сделать
api.update_status("my update", in_reply_to_status_id = tweetid)
Я обнаружил, что для включения твита, на который я отвечал
я должен был указать строку идентификатора твита (а не фактический идентификационный номер)api.update_status('@whoIReplyTo my reply tweet',tweetIdString)
Просто опубликовать решение, чтобы никто не страдал так, как я. Twitter обновил API и добавил опцию с именем auto_populate_reply_metadata
Все, что вам нужно сделать, это установить значение true, а остальное оставить как положено. Вот образец:
api.update_status(status = 'your reply', in_reply_to_status_id = tweetid , auto_populate_reply_metadata=True)
Кроме того, status_id - это длинный набор цифр в конце URL-адреса твита. Удачи!
Кажется, это ошибка в 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 вы можете ответить, не вставляя имя пользователя, которому вы отвечаете.