2012-01-31 13 views
8

Tôi cố gắng để lấy trường hợp sau đây sử dụng FQLget danh sách người dùng facebook người đang sử dụng ứng dụng cụ thể sử dụng FQL

Nếu vài người sử dụng đã cho phép "Ứng dụng A" sau đó là nó có thể biết rằng hiện nay có bao nhiêu người dùng đang sử dụng rằng "ứng dụng A" (người sử dụng những người không phải bạn bè của nhau)

cho đến nay tôi đã cố gắng sau FQL, nhưng sau truy vấn cho những thông tin của những người dùng là ai bạn bè của nhau và sử dụng cùng một ứng dụng, nhưng những người dùng khác không phải là bạn bè thì sao?

SELECT uid, name, pic_square 
FROM user 
WHERE is_app_user=1 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 
+0

FQL đó có hoạt động cho người dùng thử không? Tôi tiếp tục nhận được một mảng trống ... – l33t

+0

nope tôi không nghĩ rằng các công trình cho người dùng thử nghiệm – Hunt

Trả lời

15

Bạn không thể có được danh sách người dùng ứng dụng của mình từ API. Nếu bạn cần điều này, bạn nên duy trì cơ sở dữ liệu của riêng bạn của người dùng và tham khảo đó.

Bạn cũng có thể kiểm tra xem người dùng cụ thể có phải là người dùng ứng dụng của bạn hay không bằng cách yêu cầu /USER_ID/permissions?fields=installed bằng mã thông báo truy cập ứng dụng của bạn.

Bạn cũng có thể kiểm tra xem bạn bè của người dùng có phải là người dùng ứng dụng của bạn hay không bằng cách yêu cầu cùng một trường trên kết nối bạn bè (ví dụ: /USER_ID/friends?fields=installed). Trong trường hợp này, USER_ID phải là người dùng ứng dụng của bạn hoặc bạn sẽ không thể truy cập danh sách bạn bè của họ.

3

Bạn không thể nhận được tổng số lượng người dùng đã cài đặt ứng dụng, nhưng bạn có thể có được người dùng hàng ngày, hàng tuần và hàng tháng với truy vấn đơn giản:

SELECT daily_active_users, weekly_active_users, monthly_active_users 
    FROM application WHERE app_id = APPLICATION_ID 

Lưu ý: đây sẽ làm việc cho bất kỳ ứng dụng (không chỉ các ứng dụng mà người dùng đã kết nối)

8

is_app_user trên bảng người dùng khi yêu cầu bạn bè trả về dữ liệu này.

CHỌN uid, is_app_user TỪ ĐÂU dùng uid TRÊN (SELECT uid2 TỪ bạn Ở ĐÂU uid1 = tôi())

hoặc ...

CHỌN uid, is_app_user TỪ ĐÂU dùng is_app_user VÀ uid IN (CHỌN uid2 TỪ người bạn WHERE uid1 = me())

Đó là một chút chặt chẽ hơn - chỉ trả lại những người dùng trong ứng dụng đó.

+2

dude bạn chỉ cần lưu cho tôi những nghiên cứu trong tất cả các api facebook f2 :) – colthreepv

+0

rất nhiều giành chiến thắng! cảm ơn. –

-1
SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend 
WHERE uid1 = '549483876') AND is_app_user = 1