Używając restFB , wykonałem następujące czynności (dzięki Igy / Alex za wskazówki). Zauważ, że Facebook zwraca tablicę identyfikatorów znajomych z "installed" = true, jeśli użytkownik jest zainstalowany (jak widać tutaj ).
Najpierw rozszerz klasę User, dodając installed
pole:
import com.restfb.Facebook;
import com.restfb.types.User;
public class InstalledUser extends User {
@Facebook
private boolean installed;
public InstalledUser() {
}
public boolean getInsatlled() {
return installed;
}
}
Następnie, używając DefaultFacebookClient:
FacebookClient facebook = new DefaultFacebookClient(pFacebookAccessToken);
Connection<InstalledUser> installedFacebookUsers = facebook.fetchConnection("/" + pFacebookId + "/friends", InstalledUser.class, Parameter.with("fields", "installed"));
for (List<InstalledUser> friends : installedFacebookUsers) {
for (InstalledUser friend : friends) {
if (friend.getInsatlled()) {
// Add friend.getId() to a list of ID, or whatever
}
}
}