2011-06-20 44 views
24

Tôi đã xem qua tài liệu Twitter một thời gian và tôi đã đạt được một bức tường để có được số liệu thống kê cho sự tăng trưởng của những người theo dõi trong một khoảng thời gian về thời gian/số lượng tweet trong một khoảng thời gian ...Chính xác thì 'since_id' và 'max_id' có ý nghĩa gì trong Twitter API

Tôi muốn hiểu cộng đồng về những gì since_idmax_idcount có nghĩa là trong API Twitter.

Tôi đã theo dõi trang này http://dev.twitter.com/doc/get/statuses/user_timeline

Tôi đang cố gắng để có được số liệu thống kê cho một người sử dụng -

  • tội danh tweets trong một khoảng thời gian đặc biệt
  • đếm theo hơn một khoảng thời gian cụ thể
  • số lượng tweet lại

Tôi muốn được trợ giúp hình thành querystrings cho ở trên ..

Cảm ơn ..

Trả lời

27

since_id và max_id đều thông số rất đơn giản, bạn có thể sử dụng để hạn chế những gì bạn nhận lại từ API. Từ the docs:

since_id - Trả kết quả với một ID lớn hơn (có nghĩa là, gần đây hơn hơn) ID chỉ định. Có giới hạn số đối với số lượng Tweets mà có thể truy cập thông qua API. Nếu giới hạn của Tweet đã xảy ra kể từ từ since, thì since_id sẽ là buộc phải có ID cũ nhất. max_id - Trả về kết quả có mã số nhỏ hơn (nghĩa là, cũ hơn) hoặc bằng ID được chỉ định.

Vì vậy, nếu bạn có một ID tweet nhất định, bạn có thể tìm kiếm các tweet cũ hơn hoặc mới hơn bằng cách sử dụng hai tham số này.

count thậm chí còn đơn giản hơn - đó quy định cụ thể một số lượng tối đa tweets bạn muốn để có được trở lại, lên đến 200.

Thật không may là API sẽ không cung cấp cho bạn trở lại chính xác những gì bạn muốn - bạn không thể chỉ định một ngày/thời gian khi truy vấn user_timeline - mặc dù bạn có thể chỉ định một khi sử dụng API tìm kiếm. Dù sao, nếu bạn cần sử dụng user_timeline, thì bạn sẽ cần phải thăm dò ý kiến ​​API, thu thập các tweet, tìm hiểu xem chúng có khớp với các tham số mà bạn mong muốn hay không và sau đó tính số liệu thống kê của bạn cho phù hợp.

+0

Cảm ơn câu trả lời này. Nếu tôi muốn chuyển đổi một ngày thành 'từ_id' tương ứng cho truy vấn' user_timeline', là gợi ý của bạn để sử dụng hàm 'search' API trước để xác định một id đúng để sử dụng cho một ngày nhất định? – cboettig

+0

Đó chắc chắn là một cách để làm điều đó, và tôi không thể nghĩ ra một cách khác để làm điều đó một cách dễ dàng. – muffinista

+0

@muffinista: Làm cách nào để biết liệu chúng tôi đã đạt đến giá trị có thể cho phép lâu nhất/có thể cho phép của max_id?Tôi có nghĩa là giả sử tôi đặt số = 100, và sau đó tôi mỗi lần lấy tweets và thiết lập max_id đến id cuối cùng của tweet nhận được thời gian qua. Trong kịch bản này, làm cách nào để tôi biết khi nào tôi đã đạt đến giới hạn? – user1599964

10

Đỉnh max_id = đầu danh sách id tweet. since_id = dưới cùng của danh sách id tweets.

để biết thêm: xem kỹ sơ đồ cuối cùng .. here

+0

+1 cho infographics – antongorodezkiy

+0

khi nào bạn phải cập nhật giá trị since_id để nhận dữ liệu cập nhật? – Petar

+0

@ pe60t0 Tôi nghĩ có hai trường hợp ở đây. Trường hợp đầu tiên là khi yêu cầu được thực thi cuối cùng của bạn không trả về bất kỳ dữ liệu nào. Điều đó có nghĩa là bạn đã đạt đến điểm bắt đầu ("dưới cùng") của dòng thời gian cho truy vấn tìm kiếm của mình. Trường hợp thứ hai sẽ khác nhau tùy thuộc vào dịch vụ/logic ứng dụng của bạn: a) bạn có thể hạn chế độ sâu của tìm kiếm tổng thể của bạn (ví dụ: theo ngày); HOẶC b) nếu bạn cần phản ứng nhanh với sự xuất hiện của các tweet mới, bạn có thể bắt đầu tìm kiếm ngay từ đầu dựa trên một số loại bộ hẹn giờ (ví dụ: đặt lại truy vấn since_id thành giá trị mới sau mỗi 5 phút). –

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