Насколько я понимаю, это невозможно сделать напрямую (по крайней мере, сейчас). Похоже, что нужно добавить. Недавно они добавили некоторые возможности «ретвита», кажется логичным добавить и это.
Вот один из возможных способов сделать это, первый пример данных твита (из status/show):
<status>
<created_at>Tue Apr 07 22:52:51 +0000 2009</created_at>
<id>1472669360</id>
<text>At least I can get your humor through tweets. RT @abdur: I don't mean this in a bad way, but genetically speaking your a cul-de-sac.</text>
<source><a href="http://www.tweetdeck.com/">TweetDeck</a></source>
<truncated>false</truncated>
<in_reply_to_status_id></in_reply_to_status_id>
<in_reply_to_user_id></in_reply_to_user_id>
<favorited>false</favorited>
<in_reply_to_screen_name></in_reply_to_screen_name>
<user>
<id>1401881</id>
...
Из status/showвы можете найти идентификатор пользователя. Затем statuses/mentions_timelineвернет список статуса для пользователя. Просто проанализируйте этот ответ в поисках in_reply_to_status_idсовпадения с исходным твитом id.
Допустим, user2 отвечает на твит пользователя user1. Чтобы выяснить это из твита пользователя user1, мне нужно будет найти упоминания пользователя user1. Но что в случае, если я не могу пройти аутентификацию как user1? Разве упоминания не доступны публично без авторизации?
letronje
@letronje Насколько я знаю, вы можете использовать API поиска, чтобы найти "@ user1" в твите, но я не думаю, что это было бы так надежно, как использование status/mentions.
@Dunc Похоже, его только что поменяли наstatus/mentions_timeline
Тим Литл,
@ Тим Хорошее замечание. Но мой вариант использования аналогичен сценарию letronje (т.е. твит может быть от кого угодно), поэтому мне нужно вместо этого использовать поиск.
Дунк
52
Вот процедура, чтобы получить ответы на твиты
когда вы получаете твит, сохраните tweetId, т.е. id_str
используя twitter search api, выполните следующий запрос
[q="to:$tweeterusername", sinceId = $tweetId]
Прокрутите все результаты, результаты совпадают in_reply_to_status_id_str to $tweetidс ответами на сообщение.
Для этого вам необходимо знать атрибут screen_name пользователя Twitter, а также атрибут id_str рассматриваемого твита. Таким образом, вы можете получить произвольную ленту беседы из любого твита произвольного пользователя:
* ОБНОВЛЕНИЕ: Обновленный код для отображения доступа к объекту и доступа к массиву:
Почему это было отклонено? Он работает точно так, как указано, и точно отвечает на проблему. Кроме того, мой метод отличается от @vsubbotin тем, что вы можете использовать любой идентификатор твитера вместо своего собственного.
lincolnberryiii
4
Это хорошо, но может съесть ценные ограничения скорости (180 на OAuth). 180 твитов запускаются с помощью этого метода ... увидимся!
Майк Барвик,
8
У Twitter есть недокументированный API под названием related_results. Он даст вам ответы на указанный идентификатор твита. Не уверен, насколько он надежен в качестве экспериментального, однако это тот же вызов API, который вызывается в сети Twitter.
Да. как сказал Матье, он больше не активен. Там написано {u'message ': u'Извините, эта страница не существует', u'code ': 34}
shadab.tughlaq
7
Здесь я делюсь простым кодом R для получения ответа на конкретный твит.
userName = "SrBachchan"
##fetch tweets from @userName timeline
tweets = userTimeline(userName,n = 1)
## converting tweets list to DataFrame
tweets <- twListToDF(tweets)
## building queryString to fetch retweets
queryString = paste0("to:",userName)
## retrieving tweet ID for which reply is to be fetched
Id = tweets[1,"id"]
## fetching all the reply to userName
rply = searchTwitter(queryString, sinceID = Id)
rply = twListToDF(rply)
## eliminate all the reply other then reply to required tweet Id
rply = rply[!rply$replyToSID > Id,]
rply = rply[!rply$replyToSID < Id,]
rply = rply[complete.cases(rply[,"replyToSID"]),]
## now rply DataFrame contains all the required replies.
gnip.com - это практически единственное стороннее место, где можно получить данные Twitter.
Авраам
3
Я реализовал это следующим образом:
1) statuses / update возвращает id последнего статуса (если include_entities истинно) 2) Затем вы можете запросить статусы / упоминания и отфильтровать результат по in_reply_to_status_id. Последний должен быть равен конкретному идентификатору из шага 1.
Этот класс должен делать именно то, что вы хотите. Он очищает HTML-код мобильного сайта и анализирует беседу. Я использовал его некоторое время, и он кажется очень надежным.
Не уверен, не проверял, дам знать, если что-то найду.
pouria babvey
1
поскольку statuses / mentions_timeline вернет 20 самых последних упоминаний, это будет не так эффективно для вызова, и у него есть ограничения, такие как 75 запросов на окно (15 минут), вместо этого мы можем использовать user_timeline
(screen_name == имя, которое мы получили From status / show)
(count == от 1 до max 200)
count: Определяет количество твитов, которые нужно попробовать и получить, до максимум 200 на отдельный запрос.
из результата Просто проанализируйте этот ответ в поисках in_reply_to_status_id, соответствующего идентификатору исходного твита.
Ответы:
Насколько я понимаю, это невозможно сделать напрямую (по крайней мере, сейчас). Похоже, что нужно добавить. Недавно они добавили некоторые возможности «ретвита», кажется логичным добавить и это.
Вот один из возможных способов сделать это, первый пример данных твита (из
status/show
):Из
status/show
вы можете найти идентификатор пользователя. Затемstatuses/mentions_timeline
вернет список статуса для пользователя. Просто проанализируйте этот ответ в поискахin_reply_to_status_id
совпадения с исходным твитомid
.источник
status/mentions
.status/mentions_timeline
Вот процедура, чтобы получить ответы на твиты
[q="to:$tweeterusername", sinceId = $tweetId]
in_reply_to_status_id_str to $tweetid
с ответами на сообщение.источник
Вот мое решение. Он использует PHP-библиотеку Twitter Oauth Авраама: https://github.com/abraham/twitteroauth
Для этого вам необходимо знать атрибут screen_name пользователя Twitter, а также атрибут id_str рассматриваемого твита. Таким образом, вы можете получить произвольную ленту беседы из любого твита произвольного пользователя:
* ОБНОВЛЕНИЕ: Обновленный код для отображения доступа к объекту и доступа к массиву:
источник
У Twitter есть недокументированный API под названием related_results. Он даст вам ответы на указанный идентификатор твита. Не уверен, насколько он надежен в качестве экспериментального, однако это тот же вызов API, который вызывается в сети Twitter.
Используйте на свой риск. :)
Для получения дополнительной информации ознакомьтесь с этим обсуждением на dev.twitter: https://dev.twitter.com/discussions/293
источник
Здесь я делюсь простым кодом R для получения ответа на конкретный твит.
источник
Непросто прагматично. Для этого есть запрос функции:
http://code.google.com/p/twitter-api/issues/detail?id=142
Есть несколько сторонних веб-сайтов, которые предоставляют API, но они часто пропускают статусы.
источник
Я реализовал это следующим образом:
1) statuses / update возвращает id последнего статуса (если include_entities истинно) 2) Затем вы можете запросить статусы / упоминания и отфильтровать результат по in_reply_to_status_id. Последний должен быть равен конкретному идентификатору из шага 1.
источник
Как утверждает сатиш, он отлично работает. Вот код REST API, который я использовал
источник
Я столкнулся с той же проблемой несколько месяцев назад на работе, так как ранее использовал их
related_tweets
конечную точку в REST V1.Поэтому мне пришлось создать обходной путь, который я описал здесь:
http://adriancrepaz.com/twitter_conversations_apiMirror - вилка GithubЭтот класс должен делать именно то, что вы хотите. Он очищает HTML-код мобильного сайта и анализирует беседу. Я использовал его некоторое время, и он кажется очень надежным.
Чтобы начать разговор ...
Запрос
отклик
источник
Вы можете использовать пакет twarc в Python для сбора всех ответов на твит.
twarc replies 824077910927691778 > replies.jsonl
Кроме того, можно собрать все цепочки ответов (ответы на ответы) на твит, используя команду ниже:
twarc replies 824077910927691778 --recursive
источник
поскольку statuses / mentions_timeline вернет 20 самых последних упоминаний, это будет не так эффективно для вызова, и у него есть ограничения, такие как 75 запросов на окно (15 минут), вместо этого мы можем использовать user_timeline
лучший способ: 1. получить параметры screen_name или user_id из status / show.
2. теперь используйте user_timeline
GET https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=screen_name&count=count
(screen_name == имя, которое мы получили From status / show)
(count == от 1 до max 200)
count: Определяет количество твитов, которые нужно попробовать и получить, до максимум 200 на отдельный запрос.
из результата Просто проанализируйте этот ответ в поисках in_reply_to_status_id, соответствующего идентификатору исходного твита.
Очевидно, не идеально, но работать будет.
источник