2011-12-12 25 views
12

Tôi đang tạo ứng dụng và muốn mọi người sử dụng ứng dụng để tìm bạn bè bằng cùng một ứng dụng trên Facebook. Bất kỳ trợ giúp về điều này sẽ là tuyệt vời.Cách tìm bạn bè trên Facebook bằng cùng một ứng dụng

Tôi biết điều này có thể được thực hiện. Tôi đã thấy nó trên Instagram và Tiger Woods 12.

Trả lời

24

Một khi bạn đã cho phép người sử dụng và thu được một thẻ truy cập, bạn có thể nhanh chóng xác định bạn bè của họ đã được ủy quyền ứng dụng của bạn với một cuộc gọi đến /me/friends?fields=installed

đối với bạn bè của người dùng đã ủy quyền cho ứng dụng, kết quả sẽ trông như thế này:

{ 
    "installed": true, 
    "id": "{USER_ID_GOES_HERE}" 
}, 

và cho những người dùng chưa ủy quyền cho ứng dụng, kết quả sẽ trông như thế này:

{ 
    "id": "{USER_ID_GOES_HERE}" 
}, 

Nếu bạn làm điều này trong SDK iOS, bạn sẽ không thấy giá trị trả về chính xác, nhưng SDK sẽ đưa kết quả vào cấu trúc dữ liệu bạn có thể sử dụng và kiểm tra sự hiện diện của mục 'đã cài đặt'

bạn cũng có thể yêu cầu thêm User object các lĩnh vực khác hơn là chỉ 'cài đặt', nhưng đây chỉ là một ví dụ ngắn gọn cho bạn thấy làm thế nào để có được danh sách của những người bạn mà sử dụng ứng dụng

+0

Tuyệt vời, cảm ơn vì điều đó. Vì vậy, khi họ cho phép các ứng dụng với facebook, tôi có thể đặt id fb của họ trong cơ sở dữ liệu của tôi để họ có thể được theo sau vv trong ứng dụng của tôi hoặc là không được phép. Đó là cách duy nhất tôi có thể nghĩ đến việc kết hôn với người dùng facebook nếu ứng dụng của tôi với bạn bè? – iamsmug

+0

Vâng, bạn có thể lưu trữ thông tin chi tiết trong cơ sở dữ liệu của riêng bạn và kết hợp người dùng theo cách đó, tôi không chắc chắn chính xác những gì bạn đang cố gắng làm như vậy tôi không thể đưa ra ý kiến ​​về việc tuân thủ chính sách hay không có 'bạn bè trên facebook của bạn X, Y, Z đã sử dụng ứng dụng này, nhấp vào đây để thêm họ làm bạn bè trong ứng dụng' chức năng mặc dù – Igy

4

tôi đã giải quyết vấn đề này trong rất cách dễ dàng

Bước 1 = tải xuống đầu tiên FbGraph API

Bước 2 = sử dụng mã này để xác thực

NSString *client_id = @"XXXXXXXXXXXXXX";// App id 

//alloc and initalize our FbGraph instance 
self.fbGraph = [[FbGraph alloc] initWithFbClientID:client_id]; 

//begin the authentication process..... 
[fbGraph authenticateUserWithCallbackObject:self andSelector:@selector(fbGraphCallback:) 
        andExtendedPermissions:@"user_photos,user_videos,publish_stream,offline_access,user_checkins,friends_checkins"]; 

Bước 3 = Sao chép fbGraphCallback: Phương pháp từ mẫu mã và đưa vào điều khiển của bạn

Bước 4 = Sử dụng mã này để có được bạn bè và nó sẽ cung cấp cho u danh sách các người bạn và những người đã cùng cài đặt ứng dụng Họ trông giống như

{ 
    "installed": true, 
    "id": "{USER_ID_GOES_HERE}" 
}, 

Mã là =

NSMutableDictionary *variables = [NSMutableDictionary dictionaryWithCapacity:4]; 

[variables setObject:@"installed" forKey:@"fields"]; 

FbGraphResponse *fb_graph_response = [fbGraph doGraphGet:@"me/friends" withGetVars:variables]; 

NSLog(@"getMeinstalled Friends: %@", fb_graph_response.htmlResponse); 

Thats it !!!!!!!!

+0

Câu trả lời tuyệt vời ..... cách thực sự dễ dàng của nó – jorik

3

Tôi biết 'iphone' được gắn thẻ trong câu hỏi, nhưng câu trả lời này vẫn có thể giúp những người khác tiếp cận tại đây:
Truy vấn FQL để nhận (chỉ) id của tất cả bạn bè của người dùng cũng là người dùng ứng dụng là:

SELECT uid FROM user WHERE is_app_user=true AND uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 
Các vấn đề liên quan