Я пытаюсь получить список друзей из facebook с помощью нового SDK (3.0). Я сталкиваюсь с проблемами, связанными с тем, какие параметры мне нужно вставить в Bundle и как использовать newMyFriendRequest и GraphAPI.
Я не нашел в документации на facebook место о том, какое поле мы должны использовать. На основе GraphExplorer Я вставляю в свой Bundle ключевые "поля" с этой строкой "id, name, friend" в качестве значения. В приведенном ниже коде показано, что я делаю прямо сейчас. После того, как я получу свою фотографию и имя, я выполняю newMyFriendRequest. Я считаю, что он использует GraphAPI по умолчанию.
Я видел здесь в StackOverflow некоторые сообщения, связанные с:
Как отправить запрос FQL с новым Android SDK
Параметры запроса Android SDK для Android: где найти документацию?
Мне мало помогает, и я не хочу использовать FQL. Для ответа II'm получил этот JSON как ответ:
{Response: responseCode: 500, graphObject: null, error: {HttpStatus: 500, errorCode: 100, errorType: FacebookApiException, errorMessage: Unsupported operation}, isFromCache:false}
Заметьте, что я очень новичок в Facebook SDK для 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();
}
}