2013-02-16 24 views
6

Giả sử hai người dùng đang sử dụng ứng dụng và đã cấp cho ứng dụng quyền thích hợp để truy xuất các lượt thích của họ. Có thể sử dụng FQL hoặc đồ thị api để tìm thấy những gì họ thích có điểm chung? Tương tự như cách bạn có thể tìm thấy bạn bè lẫn nhau giữa hai người dùng bằng cách sử dụng đồ thị api. Tôi không nghĩ rằng một cuộc gọi api tồn tại như tôi đã đi qua các tài liệu nhưng tôi có thể đã bỏ lỡ nó. Tôi muốn biết nếu điều này là có thể và nếu có, làm thế nào nó có thể được thực hiện. Tôi thực sự stink với SQL và chỉ bắt đầu với FQL và có thể nhận được tất cả các thích từ một người dùng duy nhất, nhưng làm thế nào để bạn nhận được chỉ thích phổ biến giữa hai người dùng (nếu có thể)?Cách nhận các lượt thích facebook lẫn nhau giữa những người dùng đang sử dụng ứng dụng

Trả lời

3

Điều này có thể đạt được thông qua FQL.

1) Chọn các trang của người sử dụng 1

SELECT page_id FROM page_fan WHERE uid = $user1 

2) Chọn các trang của người sử dụng 2, và sử dụng page_id từ truy vấn trước đó như một bộ lọc (aka - một truy vấn phụ)

Cung cấp cho bạn truy vấn hoàn chỉnh cuối cùng để hoàn thành điều này:

SELECT page_id FROM page_fan WHERE uid= $user2 AND page_id IN (SELECT page_id FROM page_fan WHERE uid = $user1) 
+0

Tuyệt vời, cảm ơn rất nhiều. Lời giải thích đặc biệt được đánh giá cao. – landland

+0

Xin chào Tommy, sau khi chơi đùa với điều này, có vẻ như nó không hoạt động và đang trả lại một tập dữ liệu trống. Để kiểm tra, tôi đã sử dụng hai người dùng và đã thực hiện SELECT page_id FROM page_fan WHERE uid = $ user1 và sau đó SELECT page_id FROM page_fan WHERE uid = $ user2. Cả hai đều chứa page_id chung khi tôi kiểm tra lại. Tuy nhiên, khi tôi kết hợp câu lệnh từ ví dụ của bạn bằng cách sử dụng SELECT page_id FROM page_fan WHERE uid = $ user2 AND page_id IN (SELECT page_id FROM page_fan WHERE uid = $ user1) dữ liệu được trả về rỗng. Đây là cách sử dụng công cụ truy vấn FQL từ Facebook. Bất kỳ ý tưởng? – landland

+0

Về mặt logic, truy vấn hoạt động. Vì vậy, tôi không biết nếu có một vấn đề với thời gian trên này, hoặc những gì. Hãy thử làm điều này bằng cách chạy một truy vấn đa và xem những gì bạn nhận được: https://developers.facebook.com/docs/reference/rest/fql.multiquery/ –

0

FQL không còn khả dụng nữa. Bạn có thể làm điều đó với API biểu đồ từ facebook. Một cái gì đó như thế này:

graph.setAccessToken(user.facebookToken); 
    graph.get("/"+targetFacebookId+"?fields=context", null, function(err, result) { 
    if (err) { 
     notDoStuff(err); 
    } else { 
     doStuff(result); 
    } 
    }); 
Các vấn đề liên quan