Извлечение группы пользователей из 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();
}
}
Ошибка указывает на ошибку параметра запроса на вашей стороне. При запросе ваших друзей, вы можете явно указать день рождения и местонахождение вашего друга. Возможно, группы не имеют этих атрибутов.
Проверьте параметры запроса и у вас все будет хорошо.