2012-01-08 26 views
5
  1. tôi tìm kiếm với các API twitter tất cả các tweet công khai với "4sq.com":Làm thế nào tôi có thể nhận được vị trí (lat, lon) của một checkin được đăng trên twitter?

    http://search.twitter.com/search.json?q=4sq.com

vì vậy tôi có được tất cả các check-in trên Foursquare mà thực sự chia sẻ trên Twitter.

{"created_at":"Sun, 08 Jan 2012 20:05:27 +0000","from_user":"fenavergara","from_user_id":50876086,"from_user_id_str":"50876086","from_user_name":"Fernanda Vergara Ch","geo":null,"id":156104246239051776,"id_str":"156104246239051776","iso_language_code":"lt","metadata":{"result_type":"recent"},"profile_image_url":"http://a2.twimg.com/profile_images/1708744785/image_normal.jpg","profile_image_url_https":"https://si0.twimg.com/profile_images/1708744785/image_normal.jpg","source":"<a href="http://foursquare.com" rel="nofollow">foursquare</a>","text":"I'm at Roca Roja (Antofagasta) http://t.co/DIKdYGwD","to_user":null,"to_user_id":null,"to_user_id_str":null,"to_user_name":null},{"created_at":"Sun, 08 Jan 2012 20:05:27 +0000","from_user":"Fabioland76","from_user_id":357326176,"from_user_id_str":"357326176","from_user_name":"Fabio Landini","geo":null,"id":156104246104821760,"id_str":"156104246104821760","iso_language_code":"no","metadata":{"result_type":"recent"},"profile_image_url":"http://a3.twimg.com/profile_images/1506958638/profiloJPG_normal.jpg","profile_image_url_https":"https://si0.twimg.com/profile_images/1506958638/profiloJPG_normal.jpg","source":"<a href="http://foursquare.com" rel="nofollow">foursquare</a>","text":"I'm at Burger King (Gallerie Cantoni, Legnano) http://t.co/rU1jIJ4A","to_user":null,"to_user_id":null,"to_user_id_str":null,"to_user_name":null} 

Với những tweets, Foursquare cung cấp một liên kết (như thế này: http://t.co/DIKdYGwD) nơi tôi có thể nhìn thấy vị trí của check-in trên bản đồ (nếu tôi hiển thị các liên kết trên một trang web).

Làm cách nào để có thể nhận được vĩ độ và kinh độ một cách trực tiếp từ danh sách các tweet?

Ý tưởng: Tôi có cần tìm nạp liên kết trên trang web và phân tích nó để có được vĩ độ và kinh độ không?

EDIT: Tôi không muốn sử dụng Twitter mã địa lý

Trả lời

2

Bạn đã có những gì bạn muốn, hãy nhìn vào phần "geo" trong mẫu sản lượng tìm kiếm mà bạn đăng tải. Đó là null bởi vì nó không được lấp đầy (người dùng twitter quên bật vị trí twitter trong cài đặt và tất cả các vị trí từ ô được bỏ qua bởi twitter).

Bạn có thể lọc các twits theo vị trí, xem Twitter Dev documentation.

UPD:

Nếu bạn muốn để có được vị trí ngay cả trong trường hợp khi nó không được lưu trữ để la mắng, bạn phải thực hiện yêu cầu Foursquare liên kết ngắn và phân tích thông tin địa điểm (bạn có thể ăn cắp vị trí cũng). Xem nguồn của trang mẫu 4sq.com (phần nhỏ):

... 
options['lat'] = 42.98758759825106; 
options['lng'] = -71.50742411613464; 
options['fuzzy'] = false; 
options['venue'] = {"id":"v4f08df964fc62d44946f058a","venue":{"id":"4f08df964fc62d44946f058a","name":"ABC News \u2013 WMUR Debate","contact":{"twitter":"MittRomney"},"location":{"address":"100 St Anselm Drive","lat":42.98758759825106,"lng":-71.50742411613464,"city":"Manchester","state":"NH"},"categories":[{"id":"4bf58dd8d48988d1af941735","name":"College Auditorium","pluralName":"College Auditoriums","shortName":"Auditorium","icon":{"prefix":"https:\/\/foursquare.com\/img\/categories\/education\/default_","sizes":[32,44,64,88,256],"name":".png"},"primary":true}],"verified":false,"stats":{"checkinsCount":7,"usersCount":7,"tipCount":1}}}; 
... 

Thật không may, nhóm Foursquare có thể thay đổi định dạng trang hoặc giới hạn yêu cầu từ Địa chỉ IP mà không cần bất kỳ ghi chú nào. Đó là lý do tại sao giải pháp này là xấu xí.

UPD2

Xem answer từ @MikeLewis, tôi đã bỏ lỡ mà Foursquare API hỗ trợ yêu cầu thông tin bằng cách kiểm tra id.

+0

Tôi biết .. Tôi không muốn geolocalize tweet nhưng việc đăng ký trên Foursquare được chia sẻ trên Twitter. Và mã địa lý Twitter không được điền thông qua đăng ký Fousquare. – user420574

+0

@ user420574 Bạn yêu cầu twits từ máy chủ Twitter, nếu twit doesnt chứa vĩ độ và kinh độ bạn có thể nhận được thông tin này chỉ từ Foursquare máy chủ. Từ giao diện đầu tiên, bạn cần lấy ID địa điểm từ URL ngắn và yêu cầu thông tin địa điểm bằng cách sử dụng [Foursquare API] (https://developer.foursquare.com/docs/venues/venues) – 4ndrew

+0

@ user420574 Tôi đã cập nhật câu trả lời của mình một chút – 4ndrew

9

Thực sự có một giải pháp đẹp hơn ở đây nếu bạn muốn sử dụng API của. Một điều không phụ thuộc vào người dùng đã bật tính năng gắn thẻ địa lý của Twitter.

Bạn nhận thấy rằng liên kết trong cập nhật trạng thái chuyển hướng đến trang của một trang. Thay vì cạo màn hình, bạn có thể nhận thấy có hai thông tin chính trong url. Id checkin và một tham số được gọi là s (cho chữ ký) cho phép bạn truy cập thông tin đăng ký đó qua API của foursquare.

https://foursquare.com/dens/checkin/4f0b3676e4b0e8ed3a590e41?s=MWHM3-0BsLXIJprfbALvOM606ZE&ref=tw

Ví dụ, trong url trên, id checkin là 4f0b3676e4b0e8ed3a590e41 trong khi chữ ký là MWHM3-0BsLXIJprfbALvOM606ZE

Sử dụng/Việc đăng nhập Endpoint, bạn có thể nhận được các chi tiết đầy đủ checkin (bao gồm cả lat/long của địa điểm). Dox tại đây: https://developer.foursquare.com/docs/checkins/checkins

+0

Chỉ cần lưu ý: Checkins endpoint "Require Acting User" – Hamdi

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