Как получить список групп из Facebook, используя Spring Social Facebook?

Я связал свое приложение с facebook, используя Spring Social Facebook API. Я попытался получить все группы, используя следующий способ

FacebookTemplate facebookTemplate = new FacebookTemplate();     
List<Group> group = facebookTemplate.fetchConnections("me", "groups", Group.class);   

Но он генерирует следующее сообщение об ошибке

    org.springframework.social.MissingAuthorizationException: Authorization is required for the operation, but the API binding was created without authorization.
    org.springframework.social.facebook.api.impl.FacebookErrorHandler.handleFacebookError(FacebookErrorHandler.java:95)
    org.springframework.social.facebook.api.impl.FacebookErrorHandler.handleError(FacebookErrorHandler.java:60)
    org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:486)
    org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:443)
    org.springframework.web.client.RestTemplate.execute(RestTemplate.java:415)
    org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:213)
    org.springframework.social.facebook.api.impl.FacebookTemplate.fetchConnections(FacebookTemplate.java:180)
    org.springframework.social.facebook.api.impl.FacebookTemplate.fetchConnections(FacebookTemplate.java:174)
    com.horoppa.social.facebook.FacebookFeedController.postUpdate(FacebookFeedController.java:52)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)

It may be required to create FacebookTemplate object using AccessToken for authorization. 
    FacebookTemplate facebookTemplate = new FacebookTemplate(AccessToken);

Пожалуйста, помогите мне, как получить accessToken и как получить все группы.


person Rafiqul Islam    schedule 03.12.2011    source источник
comment
У меня есть его. Нет необходимости получать доступ к Taoken.   -  person Rafiqul Islam    schedule 04.12.2011


Ответы (2)


Кажется, вы используете spring-social-showcase. Итак, вы можете получить список групп текущего пользователя следующим образом

 @Controller

@RequestMapping("/facebook/group") открытый класс FacebookGroupsController {

private final Facebook facebook;

@Inject
public FacebookGroupsController(Facebook facebook) {
    this.facebook = facebook;
}

/*
 * Fetch all group list
 */
@RequestMapping(value="/list", method=RequestMethod.GET)
public String showGroup(Model model) {              
    List<Group> groupList = facebook.fetchConnections("me", "groups", Group.class);         
    model.addAttribute("group", groupList);         
    return "facebook/groupList";
}

}

Вы также можете обнаружить, что он уже создан для facebook в SocialConfig.java.

@Bean
@Scope(value="request", proxyMode=ScopedProxyMode.INTERFACES)
public Facebook facebook() {
    Connection<Facebook> facebook = connectionRepository().findPrimaryConnection(Facebook.class);
    return facebook != null ? facebook.getApi() : new FacebookTemplate();
}
person Rafiq    schedule 16.04.2012
comment
Спасибо за Ваш ответ. Вы знаете, я уже понял, что я упомянул в комментарии. - person Rafiqul Islam; 16.04.2012

Вы можете попробовать приведенный ниже код, чтобы получить все группы из GroupOperations().

List<GroupMembership> listGroup=facebook.groupOperations().getMemberships();
person Minh Nguyen    schedule 20.05.2015