2010-07-13 36 views
6

Có ai đã truy cập thành công danh sách bạn bè của người dùng qua API Biểu đồ Facebook không?Truy cập bạn bè của người dùng thông qua API biểu đồ Facebook?

Tôi đã viết mã để xác thực người dùng trên trang web của mình qua API OAuth của Facebook. Nó hoạt động lộng lẫy; Tôi có thể truy cập vào các điểm dữ liệu này thông qua định dạng URL sau, nơi tôi thay thế "uid" bằng id hợp lệ (tôi sử dụng uid thay cho "me" vì "tôi" không hoạt động như quảng cáo):

https://graph.facebook.com/uid?access_token= ...
https://graph.facebook.com/uid/likes?access_token= ...
https://graph.facebook.com/uid/interests?access_token= ...
https://graph.facebook.com/uid/activities?access_token= ...

Tuy nhiên, bạn bè truy cập chỉ đơn giản không hoạt động. Url,

https://graph.facebook.com/uid/friends?access_token= ...

trả về lỗi sau:

{ 
    "error": { 
     "type": "OAuthAccessTokenException", 
     "message": "An access token is required to request this resource." 
    } 
} 

Các ví dụ trên Graph API docs tất cả công việc, tuy nhiên các thẻ truy cập được tạo ra trên trang đó có một định dạng khác so với tôi. Tôi cung không chăc tại sao. Tôi đã làm theo hướng dẫn của họ cho một tee (và có nó làm việc cho tất cả mọi thứ khác!).

Bạn bè được coi là publicly accessible information và tôi đã kiểm tra kỹ quyền truy cập tài khoản Facebook của mình, vì vậy tôi không nghĩ đó là vấn đề.

Trả lời

0

Trước tiên, bạn cần nhận mã thông báo truy cập. Xem:

Facebook Graph API — getting access tokens

+0

Tôi đang truy xuất mã thông báo truy cập. Tôi đang sử dụng nó để truy xuất dữ liệu hồ sơ công khai, sở thích, sở thích và hoạt động. Xin vui lòng cho tôi biết làm thế nào bài viết của tôi có thể được sửa đổi để làm cho rõ ràng hơn. – thebossman

0

Bạn nhận được bạn bè ở đâu? Câu hỏi thường gặp bạn đã liên kết với tiểu bang:

Publicly available information includes your name, profile picture, gender, and networks. This information makes it easier for friends, family, and other people you know to connect with you.

Tôi không đề cập đến bạn bè trong đoạn đó.

+0

Bạn nói đúng. Tôi dự định liên kết tới: http://developers.facebook.com/docs/authentication/permissions "Theo mặc định, ứng dụng của bạn có thể truy cập tất cả dữ liệu công khai trong tiểu sử của người dùng, bao gồm tên, ảnh tiểu sử, giới tính và bạn bè của cô ấy . " – thebossman

+0

"theo mặc định" ngụ ý rằng bạn có thể truy cập thông tin này khi người dùng đã xác thực ứng dụng của bạn. Tức là, bộ quyền cơ sở (những gì bạn nhận được khi bạn yêu cầu không có phạm vi/quyền bổ sung) bao gồm thông tin này. Bạn vẫn cần một 'access_token' để có được nó mặc dù. – daaku

+0

Tôi hiểu, cảm ơn bạn.Nó xuất hiện access_token tôi nhận được từ API không hợp lệ. Không chắc chắn tại sao ... – thebossman

0

Lỗi bạn đang thấy ngụ ý access_token hiện không được gửi. Đây cũng có thể là lý do tại sao /me không hoạt động cho bạn. Nó cũng có khả năng là một khi bạn sửa chữa điều đó, các kết nối bạn bè sẽ hiển thị như bạn mong đợi.

+0

Bạn có thể đúng. Tôi đang theo dõi tài liệu trên Facebook cho một tee, nhưng tôi nhận được một access_token mà không giống với tài liệu đó. Một số người trên blog này đã nhận xét rằng họ có cùng một vấn đề: http://benbiddington.wordpress.com/2010/04/23/facebook-graph-api-getting-access-tokens/ – thebossman

7

Nếu người dùng kết nối với ứng dụng của bạn, bạn có thể lấy bạn bè của họ như sau:

$facebook = new Facebook(array(
       'appId' => 'xxxxxxxx', 
       'secret' => 'xxxxxxx', 
       'cookie' => true, 
      )); 

    // $session is only != null, when you have the session-cookie, that is set by facebook, after the user logs in 
    $session = $facebook->getSession(); 

    // you dont get a list of friends, but a list, which contains other friendlists 
    $friendsLists = $facebook->api('/me/friends'); 

    foreach ($friendsLists as $friends) { 
     foreach ($friends as $friend) { 
     // do something with the friend, but you only have id and name 
     $id = $friend['id']; 
     $name = $friend['name']; 
     } 
    } 

Nhưng bạn chỉ có quyền truy cập vào id và tên của bạn bè.

+1

Bài đăng này là một phần nhỏ của thiên đàng . – Mafia

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