2011-12-03 19 views
2

私は春の社会のFacebookのAPIを使用してFacebookに私のアプリを接続しています。 accessTokenを取得するために、すべてのグループを取得する方法をどのように、私を助けてください、私はspring social facebookを使用してFacebookからグループリストを取得する方法は?

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); 

次のエラーメッセージを生成します。

+0

私はそれを持っています。タオケンにアクセスする必要はありません。 –

答えて

0

あなたは春のソーシャルショーケースを使用しているようです。だから、あなたはあなたがまた

@Controller 

@RequestMapping( "/ Facebookの/グループ") パブリッククラス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"; 
} 

}

方法

を可能性があり、次のことで、現在のユーザーのグループのリストを取得することができますすでにSocialConfig.javaのFacebook用に作成されていることがわかりました。

@Bean 
@Scope(value="request", proxyMode=ScopedProxyMode.INTERFACES) 
public Facebook facebook() { 
    Connection<Facebook> facebook = connectionRepository().findPrimaryConnection(Facebook.class); 
    return facebook != null ? facebook.getApi() : new FacebookTemplate(); 
} 
+0

あなたの答えをありがとう。あなたは私がすでにコメントしたことを知っています。 –

0

以下のコードを試して、GroupOperations()からすべてのグループを取得できます。

List<GroupMembership> listGroup=facebook.groupOperations().getMemberships();