* Lưu ý: kể từ phiên bản 3.14, tôi/bạn bè sẽ chỉ trả lại bạn bè cũng sử dụng ứng dụng, vì vậy việc triển khai dưới đây không còn được dùng nữa. Xem API "Bạn bè có thể mời" hoặc "Bạn bè có thể gắn thẻ" cho các lựa chọn thay thế.
Sử dụng SDK Facebook mới cho Android (3.0) rất dễ dàng để có được danh sách bạn bè của người dùng của bạn. Tiếp theo là các mã:
private void requestFacebookFriends(Session session) {
Request.executeMyFriendsRequestAsync(session,
new Request.GraphUserListCallback() {
@Override
public void onCompleted(List<GraphUser> users,
Response response) {
// TODO: your code for friends here!
}
});
}
Tuy nhiên, để có được bạn bè của người dùng đang sử dụng ứng dụng Facebook của bạn là một chút phức tạp (do tài liệu Facebook API). Nhưng có, có thể.
Trước hết, tạo yêu cầu của bạn:
private Request createRequest(Session session) {
Request request = Request.newGraphPathRequest(session, "me/friends", null);
Set<String> fields = new HashSet<String>();
String[] requiredFields = new String[] { "id", "name", "picture",
"installed" };
fields.addAll(Arrays.asList(requiredFields));
Bundle parameters = request.getParameters();
parameters.putString("fields", TextUtils.join(",", fields));
request.setParameters(parameters);
return request;
}
Lưu ý rằng bạn cần phải chèn lĩnh vực "cài đặt" trong yêu cầu của bạn. Tôi đang yêu cầu đường dẫn hình ảnh của người dùng có cùng yêu cầu. Kiểm tra khả năng của bạn here.
Tiếp theo, bạn có thể sử dụng trên mã để tạo yêu cầu của bạn và sau đó nhận được bạn bè:
private void requestMyAppFacebookFriends(Session session) {
Request friendsRequest = createRequest(session);
friendsRequest.setCallback(new Request.Callback() {
@Override
public void onCompleted(Response response) {
List<GraphUser> friends = getResults(response);
// TODO: your code here
}
});
friendsRequest.executeAsync();
}
Lưu ý rằng việc sử dụng yêu cầu chung này, bạn không nhận được một danh sách GraphUser như phản ứng. Bạn sẽ cần mã sau đây để có được câu trả lời như GraphUser danh sách:
private List<GraphUser> getResults(Response response) {
GraphMultiResult multiResult = response
.getGraphObjectAs(GraphMultiResult.class);
GraphObjectList<GraphObject> data = multiResult.getData();
return data.castToListOf(GraphUser.class);
}
Bây giờ bạn có thể sử dụng danh sách bạn bè của người dùng, với các thông tin nếu mỗi người trong số bạn bè của bạn sử dụng ứng dụng Facebook của bạn:
GraphUser user = friends.get(0);
boolean installed = false;
if(user.getProperty("installed") != null)
installed = (Boolean) user.getProperty("installed");
hey , tôi cũng muốn danh sách bạn bè trong một listview. tôi đã sử dụng yêu cầu phương pháp bạn bè facebook như trong phần đầu tiên của JPMagalhaes trả lời dưới đây. Nhưng tôi không biết làm thế nào để habdle kết quả. Tôi có nghĩa là làm thế nào để có được kết quả trong một listview. những gì tôi phải làm với người dùng Danh sách. u có thể trả lời ở đây: http: // stackoverflow.com/questions/26773639/working-with-facebook-sdk –