2011-12-03 53 views
2

我已經使用Spring社交Facebook的API API連接我的應用程序與Facebook。我試着用以下方式如何使用Spring社交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); 

請大家幫幫我,怎麼弄的accessToken以及如何獲取所有羣體。

+0

我已經得到了它。沒有必要訪問Taoken。 –

回答

0

看來你正在使用spring-social-showcase。所以,你可以通過以下方式

@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(); 
相關問題