13

Chúng tôi có một ứng dụng web nơi chúng tôi cần theo dõi người dùng "Lượt thích" các URL (không phải trang Facebook, các trang bên ngoài), bởi vì họ kiếm được tín dụng để làm như vậy.Làm thế nào để xác định xem người dùng Facebook Không giống như một URL?

Để làm điều này, chúng tôi đang sử dụng JQuery và sự kiện đăng ký (edge.create) và nó hoạt động rất tốt. http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

Thật không may, chúng tôi không thể tìm ra cách xử lý trường hợp người dùng "Thích" URL thông qua trang web của chúng tôi, kiếm được tín dụng, sau đó truy cập vào Facebook Wall và "Unlikes". hệ thống.

Tôi đã chơi xung quanh với hai truy vấn FQL này. Việc đầu tiên là nghĩa vụ phải trả về một ID đối tượng của một URL, và thứ 2 sẽ trả về danh sách user_ids người "Like" URL. Nhưng chúng dường như không nhất quán và không phải lúc nào cũng trả về dữ liệu cho mọi trường hợp tôi đã thử nghiệm.

https://api.facebook.com/method/fql.query?query=select%20id%20from%20object_url%20where%20url=%22http://www.saschakimmel.com/2010/05/how-to-capture-clicks-on-the-facebook-like-button/%22

https://api.facebook.com/method/fql.query?query=SELECT%20user_id%20FROM%20like%20WHERE%20object_id=%22393958018726%22

Chúng tôi không muốn có để có được những người sử dụng để cho phép ứng dụng của chúng tôi với Facebook, và cho phép chúng tôi truy cập vào dữ liệu của họ, để làm công việc này một trong hai.

Bất kỳ ý tưởng nào? Cảm ơn trước!

+0

Chuỗi này có một số thông tin tốt nhưng vẫn không giải quyết được sự cố của tôi: http://stackoverflow.com/questions/4876422/retrieve-facebook-users-that-like-a-url-web-page -via-open-graph – Kane

Trả lời

4

Trong những hiểu biết trong bảng FQL bạn có số liệu "domain_fan_removes", "page_fan_removes", "application_like_removes" và "domain_like_removes" http://developers.facebook.com/docs/reference/fql/insights/ Điều này có thể giúp đỡ.

https://api.facebook.com/method/fql.query?query=SELECT%20metric,value%20FROM%20insights%20WHERE%20object_id=118584441503782%20AND%20metric= 'page_fan_removes' % 20and% 20end_time = end_time_date ('2011/02/01')% 20and% 20period = thời gian ('đời') & access_token = xxxxx

+0

Có đủ chi tiết để hỗ trợ theo dõi người dùng cá nhân không? Câu hỏi đề cập đến việc người dùng không thích và sau đó lại thích một lần nữa và phải nhận tín dụng phù hợp. Tôi muốn xem một mẫu mã được đăng có thể chạy để xác định xem thông tin này có phải là câu trả lời cho các yêu cầu của tác giả hay không. –

+0

Một vài vấn đề với cách tiếp cận này: (1) Nó không hoạt động;) Ví dụ: https://api.facebook.com/method/fql.query?query=SELECT%20metric,%20value%20FROM%20insights%20WHERE % 20object_id = 393958018726% 20AND% 20metric = 'domain_fan_removes'% 20 và (2) Thông báo "Thông tin chi tiết có sẵn cho các trang, ứng dụng và miền có từ 30 kết nối trở lên". điều này sẽ không hoạt động vì hệ thống của chúng tôi có nhiều miền có dưới 30 kết nối. – Kane

+0

truy vấn về thông tin chi tiết cần phải có phạm vi thời gian, do đó bạn đã nhận được lỗi trên truy vấn ở trên. Vui lòng thử một cái gì đó như thế này https://api.facebook.com/method/fql.query?query=SELECT%20metric,value%20FROM%20insights%20WHERE%20object_id=118584441503782%20AND%20metric='page_fan_removes'%20AND%20end_time = end_time_date ('2011-02-01')% 20AND% 20period = period ('lifetime') & access_token = xxxxx Mã thông báo truy cập oauth được cung cấp phải ở trên người dùng có đặc quyền "read_insights". – Balakrishnan

2

Với Api JS bạn có thể sử dụng FB.Event.subscribe,

FB.Event.subscribe('edge.create', 
    function(response) { 
     alert('You liked the URL: ' + response); 
    } 
); 

hoặc bạn có thể sử dụng edge.remove nếu người dùng không giống như một url:

FB.Event.subscribe('edge.remove', 
    function(response) { 
     alert('You unliked the URL: ' + response); 
    } 
); 

https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

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