Извлечение группы пользователей из Facebook с помощью API Facebook

Я хочу получить группы пользователей и хочу перечислить их, но я не могу получить группы из Facebook, хотя я могу сделать

*Successful Login
*fetch friend list 
*i have also allowed the permission user_groups for fetching user groups

здесь я делаю так для получения группы пользователей

AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
mAsyncRunner.request("me/groups", params,
                    new GroupsRequestListener());

public class GroupsRequestListener extends BaseRequestListener {

    @Override
    public void onComplete(final String response, final Object state) {
        dialog.cancel();
        Log.v("response", response);
        Intent myIntent = new Intent(getApplicationContext(),
                GroupsList.class);
        myIntent.putExtra("API_RESPONSE", response);
        startActivity(myIntent);
    }

    public void onFacebookError(FacebookError error) {
        dialog.cancel();

        Toast.makeText(getApplicationContext(),
                "Facebook Error: " + error.getMessage(), Toast.LENGTH_SHORT)
                .show();
    }

}

Но я получил ответ, что-то вроде этого в журнале

06-15 07:43:19.563: V/response(645): {"error":{"message":"(#100) Unknown fields:    location,birthday","type":"OAuthException","code":100}}

Параметры "me/friends" подходят для получения списка друзей. Параметр "я / группы" подходит для выборки группы пользователей?

2 ответа

Решение

Спасибо, Кристоф Эберхардт. Я получил решение с вашей помощью. что я делал ошибку, так это запрос на работу parameters, параметры должны быть

Bundle params = new Bundle();
params.putString("fields", "name");

после установки параметров запроса вышеуказанный код работает отлично. Полное решение для получения группы пользователей

//onCreate
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
Bundle params = new Bundle();
params.putString("fields", "name");

mAsyncRunner.request("me/groups", params,
                new GroupsRequestListener());

//then

public class GroupsRequestListener extends BaseRequestListener {

@Override
public void onComplete(final String response, final Object state) {
    dialog.cancel();
    Log.v("response", response);
    Intent myIntent = new Intent(getApplicationContext(),
            GroupsList.class);
    myIntent.putExtra("API_RESPONSE", response);
    startActivity(myIntent);
    }

public void onFacebookError(FacebookError error) {
    dialog.cancel();

    Toast.makeText(getApplicationContext(),
            "Facebook Error: " + error.getMessage(), Toast.LENGTH_SHORT)
            .show();
    }

}

Ошибка указывает на ошибку параметра запроса на вашей стороне. При запросе ваших друзей, вы можете явно указать день рождения и местонахождение вашего друга. Возможно, группы не имеют этих атрибутов.

Проверьте параметры запроса и у вас все будет хорошо.

Другие вопросы по тегам