Obter lista de amigos no facebook 3.0
Estou tentando obter minha lista de amigos do facebook usando o novo SDK (3.0). Estou enfrentando problemas relacionados ao tipo de parâmetros que preciso inserir em um pacote e como usar newMyFriendRequest e GraphAPI.
Eu não achei na documentação do facebook um lugar sobre que tipo de campo nós temos que usar. Baseado emGraphExplorer Eu insiro no meu Bundle a chave "fields" com essa string "id, name, friend" como um valor. O código abaixo mostra o que estou fazendo agora. Depois que eu recebo Minha foto e nome, eu executo newMyFriendRequest. Eu acredito que ele usa GraphAPI por padrão.
Eu vi aqui no StackOverflow alguns posts relacionados:
Como enviar uma consulta FQL com o novo SDK do Android
Parâmetros de solicitação do SDK do Android para Android: onde encontrar a documentação?
Isso me ajuda pouco e eu não quero usar o FQL. Para resposta estou recebendo este JSON como uma resposta:
{Response: responseCode: 500, graphObject: null, error: {HttpStatus: 500, errorCode: 100, errorType: FacebookApiException, errorMessage: Unsupported operation}, isFromCache:false}
Observe que sou muito novo no SDK do Facebook para Android.
private void onSessionStateChange(final Session session, SessionState sessionState, Exception ex){
if(session != null && session.isOpened()){
getUserData(session);
}
}
private void getUserData(final Session session){
Request request = Request.newMeRequest(session,
new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if(user != null && session == Session.getActiveSession()){
pictureView.setProfileId(user.getId());
userName.setText(user.getName());
getFriends();
}
if(response.getError() !=null){
}
}
});
request.executeAsync();
}
private void getFriends(){
Session activeSession = Session.getActiveSession();
if(activeSession.getState().isOpened()){
Request friendRequest = Request.newMyFriendsRequest(activeSession,
new GraphUserListCallback(){
@Override
public void onCompleted(List<GraphUser> users,
Response response) {
Log.i("INFO", response.toString());
}
});
Bundle params = new Bundle();
params.putString("fields", "id,name,friends");
friendRequest.setParameters(params);
friendRequest.executeAsync();
}
}