2011-12-20 41 views
8

Tôi không chắc liệu điều này có khả thi hay không -API biểu đồ Facebook: Nhận một người bạn N ngẫu nhiên?

Tôi đang phát triển trò chơi Android và tôi muốn nó bao gồm ảnh tiểu sử của 15 người bạn ngẫu nhiên. Tuy nhiên, có vẻ như lựa chọn duy nhất của tôi là gọi API đồ thị "/ me/friends" (nhiều lần, với phân trang) để nhận tất cả của một người bạn, lưu trữ danh sách, sau đó chọn ngẫu nhiên một tập hợp con của bạn bè và truy xuất ảnh tiểu sử của họ. Tôi đã tự hỏi liệu có một cuộc gọi duy nhất tới Graph API để sắp xếp ngẫu nhiên hay bằng cách nào đó giảm bớt dấu chân của công việc này, để tôi có thể sử dụng máy chủ ?limit=15 để giảm các yêu cầu mà ứng dụng của tôi phải thực hiện.

Cảm ơn!

+0

Tôi muốn được biết câu trả lời cho câu hỏi này, câu hỏi của tôi là như nhau, chỉ cần không thông qua Android! – dougajmcdonald

Trả lời

21

Điều này có thể thông qua FQL truy vấn mà bạn có thể chạy với Graph API

SELECT uid, name FROM user WHERE uid IN (
    SELECT uid2 FROM friend WHERE uid1 = me() 
) ORDER BY rand() limit 15 

Để có được nó thông qua Graph API bạn chỉ cần phát hành GET yêu cầu:

GET http://graph.facebook.com/fql?q={QUERY_HERE} 
0

Nếu không rand (), bạn cũng có thể sử dụng bù đắpgiới hạn

chọn uid2 từ bạn bè nơi uid1 = tôi () giới hạn 15 offset 15

Điều này sẽ kết bạn được chọn lần trước, không xuất hiện lại trong 15 nhóm bạn mới được chọn vào lần tiếp theo. Tôi đồng ý nó không thực sự ngẫu nhiên, bởi vì khi họ nói ngẫu nhiên, có những cơ hội của những người bạn trước đó xuất hiện trở lại.

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