Ответ 1
Если это ретвит, твит будет содержать свойство с именем retweeted_status
. Чтобы быть полным, retweeted_status
не появится, если твит не является retweet. Дополнительная информация: Tweets.
Я нашел этот вопрос. Однако я думаю, что это изменилось в API версии 1.1.
Если я использую метод search/tweets
, как я могу узнать, является ли твит RT?
Я вижу, что поле retweeted
всегда возвращает false
. Есть ли другое поле, которое я могу использовать для этого ответа?
Если это ретвит, твит будет содержать свойство с именем retweeted_status
. Чтобы быть полным, retweeted_status
не появится, если твит не является retweet. Дополнительная информация: Tweets.
Просто проверив имя свойства
"retweeted_status"
если вы не нашли, то это не RT.
Как сказал @Joe Mayo, проверьте для ключа retweeted_status
статус объекта.
У меня есть пример, который не поймал предложение @Apoorv Ashutosh.
Смотрите: https://twitter.com/gppvt/status/474162466776449024, это перенаправит (потому что это ретвит) к оригинальному твиту. Однако, если вы получаете этот твит через API twitter, он имеет retweeted_status
. Обратите внимание, что текст не содержит "RT".
Измененное поле является ложным, если ретвит не выполняется с помощью кнопки retweet, а rahter через RT, поэтому в таком случае просто найдите поле "текст" всех твитов для этого шаблона
RT @
Этот шаблон может помочь, но я не думаю, что для этого есть другая функция.
Просто добавим немного больше. (используя твитер-жемчуг (рубиновый язык))
Вы можете проверить, есть ли у него retweet, проверив твит и затем получая то, что вам нужно от хэша retweeted_status
t = client.status(#########) #function that obtains tweet based on ID where # = tweet ID
puts t.retweeted_status? # returns true or false
t.retweeted_status # returns the actual hash for that
Свойство retweeted_status
будет существовать, если полученный твит был изменен, иначе вы получите ошибку AttributeError
. В этом случае вы хотите избавиться от переработанных твитов:
def on_status(self, status):
try:
print "Retweeted ************* \n" + str(status.retweeted_status)
return
except AttributeError:
print "there is no attribut with name retweeted_status"
Как и все остальные, вы можете проверить, существует retweeted_status
свойство retweeted_status
в подполе ответа для этого Tweet.
Однако в соответствии с текущей версией API каждый объект Tweet имеет retweeted
поле, в retweeted
хранится логическое значение (True или False), которое скажет вам, был ли изменен твит.