Подтвердить что ты не робот

API Twitter: проверьте, является ли чириканье ретвитом

Я нашел этот вопрос. Однако я думаю, что это изменилось в API версии 1.1.

Если я использую метод search/tweets, как я могу узнать, является ли твит RT? Я вижу, что поле retweeted всегда возвращает false. Есть ли другое поле, которое я могу использовать для этого ответа?

4b9b3361

Ответ 1

Если это ретвит, твит будет содержать свойство с именем retweeted_status. Чтобы быть полным, retweeted_status не появится, если твит не является retweet. Дополнительная информация: Tweets.

Ответ 2

Просто проверив имя свойства

"retweeted_status"

если вы не нашли, то это не RT.

Ответ 3

Как сказал @Joe Mayo, проверьте для ключа retweeted_status статус объекта.

У меня есть пример, который не поймал предложение @Apoorv Ashutosh.

Смотрите: https://twitter.com/gppvt/status/474162466776449024, это перенаправит (потому что это ретвит) к оригинальному твиту. Однако, если вы получаете этот твит через API twitter, он имеет retweeted_status. Обратите внимание, что текст не содержит "RT".

Ответ 4

Измененное поле является ложным, если ретвит не выполняется с помощью кнопки retweet, а rahter через RT, поэтому в таком случае просто найдите поле "текст" всех твитов для этого шаблона

RT @

Этот шаблон может помочь, но я не думаю, что для этого есть другая функция.

Ответ 5

Просто добавим немного больше. (используя твитер-жемчуг (рубиновый язык))

Вы можете проверить, есть ли у него 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

Ответ 6

Свойство 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"

Ответ 7

Как и все остальные, вы можете проверить, существует retweeted_status свойство retweeted_status в подполе ответа для этого Tweet.

Однако в соответствии с текущей версией API каждый объект Tweet имеет retweeted поле, в retweeted хранится логическое значение (True или False), которое скажет вам, был ли изменен твит.