2015-07-12 19 views
6

Tôi muốn nhận được tất cả các 'tweet lại với các bình luận' của một tweet.Làm cách nào để tìm tất cả 'tweet lại với nhận xét' cho một Tweet cụ thể bằng API?

Dưới đây là vài điều tôi nhận thấy với twitter api

  1. tweet lại với ý kiến ​​được coi là tweet. Số đếm retweet không tăng nếu bạn thêm một bình luận, cũng được thông báo twitter là "XYZ trích dẫn bạn thay vì retweeted bạn'
  2. Bạn rõ ràng không thể sử dụng thiết bị đầu cuối API này https://dev.twitter.com/rest/reference/post/statuses/retweet/:id

Có cách nào để tìm tất cả các 'tweet/retweet với bình luận' nếu bạn có thể cung cấp Tweet/Id gốc?

Trả lời

4

Vì vậy, bạn đang đề cập đến các Tweet được trích dẫn (retweet with comments). tuy nhiên, có một số cách để thực hiện điều đó.

  1. Vì tất cả các tweets trích dẫn chứa url ngắn với một bản gốc, bạn vẫn có thể sử dụng in_reply_to_status_id lọc theo url ngắn của tweet gốc
  2. Tìm kiếm tweets có chứa các lĩnh vực quoted_status_id này có thể được thực hiện hoặc thông qua REST hoặc API STREAMING.

quoted_status_id: Trường này chỉ xuất hiện khi Tweet là một Tweet trích dẫn. Trường này chứa giá trị số nguyên ID Tweet của Tweet được trích dẫn.

+0

Cảm ơn Leb! Tôi đang đề cập đến 'Các tweet lại của một tweet có các nhận xét bổ sung do người dùng thêm vào khi tweet lại' http://mashable.com/2015/04/07/twitter-retweet-comments/ – codeObserver

+0

Hãy cho tôi biết nếu điều này làm rõ mọi thứ. – Leb

+0

Cảm ơn Leb. Vì vậy, âm thanh như tôi phải lấy tất cả các tweet từ Twitter và lọc những cái dựa trên quoted_status_id và in_reply_to_status_id. Điều này nghe có vẻ rất tốn kém và không chắc chắn nếu Twitter sẽ cho phép tôi cho tất cả các tweet. Có cách nào tôi có thể 'bắt đầu' với tweet/id orignal và sau đó nhận được tất cả các tweet được trích dẫn cho điều đó không? – codeObserver

0

Điều này không dễ thực hiện. Đây là phương pháp API brute-force để tìm Tweet được trích dẫn.

Lấy id tweet của bạn, nó sẽ giống như 750176081987014657.

GET tìm kiếm/tweets

Sử dụng API Twitter và tìm kiếm các tweet.

https://dev.twitter.com/rest/reference/get/search/tweets

Các yêu cầu GET sẽ giống như thế này:

https://api.twitter.com/1.1/search/tweets.json?q=750176081987014657&count=100

Các q "truy vấn" đối số là id tweet. Tôi đã đặt kết quả đối số count thành tối đa (100).

Authorization

Tất nhiên với các API Twitter có một bó toàn bộ các công việc đầu Authorization khó khăn bạn phải làm là tốt để hoàn thành các yêu cầu GET. Đó là tài liệu ở nơi khác và nằm ngoài phạm vi của câu trả lời này.

Kết quả và Kết luận

Khi bạn có kết quả JSON của yêu cầu GET này, tập trung vào việc thu thập statuses. Đối với mỗi tweet trong bộ sưu tập (còn được gọi là "trạng thái"), hãy kiểm tra xem nó có chứa trường quoted_status_id không. Nếu có, và giá trị trường khớp với id tweet của bạn, tweet là một tweet trích dẫn. Nếu nó không, nó chỉ đơn giản là một retweet không có bình luận thêm. Bạn cũng sẽ phải đối phó với việc lặp lại thông qua việc phân trang kết quả nếu có nhiều hơn 100. Điều đó được thực hiện bằng cách tìm kiếm trường search_metadata.next_results và truy xuất chuỗi truy vấn GET tiếp theo từ nó, sẽ được cung cấp cho bạn.

Các vấn đề liên quan