如何以编程方式在春季社交的Facebook页面上发帖?

我拼命想在Facebook 页面 (品牌页面,而不是用户墙)上自动发帖。 我使用spring social作为框架。

这个想法如下:我有一个使用spring social的web应用程序,我希望能够在相关的facebook品牌页面上以编程方式发布状态。 品牌页面就是这种人们“喜欢”的页面,类似于https://www.facebook.com/cocacola

我尝试了以下操作:1。在页面上获取具有管理员权限的有效用户的访问令牌2.访问该页面的访问权限(如何?),并在该页面上发布。 也许通过pageoperation? 或者其他的东西…

我坚持第一步,我无法尝试第二步。 第一步,我有:

FacebookConnectionFactory connectionFactory = new FacebookConnectionFactory("clientid", "secretkey"); OAuth2Operations op = connectionFactory.getOAuthOperations(); OAuth2Parameters params = new OAuth2Parameters(); 
  • 我应该把什么作为参数? 我想我要定义一个范围,对吗?
  • 哪一个可以在该页面上发布?

然后,我应该为admin用户获取访问令牌,如下所示:

 AccessGrant ag = op.exchangeCredentialsForAccess("username", "password", params); accessToken = ag.getAccessToken(); 

在这里,我应该为用户提供访问令牌,使用户无需通过Facebook登录页面输入用户名/密码。 但是,它不起作用。 我有以下例外:

警告:org.springframework.web.client.RestTemplate – 对“ https://graph.facebook.com/oauth/access_token ”的POST请求导致400(错误请求); 调用error handling程序

2013年10月23日下午9:57:59 org.apache.catalina.core.StandardWrapperValve调用SEVERE:servlet [appServlet]的Servlet.service()在路径[/ myapp]的上下文中引发exception[请求处理失败; 嵌套exception是org.springframework.web.client.HttpClientErrorException:400错误请求],根本原因org.springframework.web.client.HttpClientErrorException:400错误请求

如果你能发布一个function齐全的概念certificate我会很感激(我找到了答案的元素,但我没有设法使它工作……)。

谢谢你的帮助!

查看有关如何进行身份validation的文档 ,然后尝试:

 import org.springframework.social.connect.Connection; import org.springframework.social.connect.ConnectionRepository; import org.springframework.social.connect.UsersConnectionRepository; import org.springframework.social.facebook.api.Facebook; ... @Inject private UsersConnectionRepository usersConnectionRepository; public void postStatusOnPage(String userId, String pageId, String message) { ConnectionRepository connectionRepository = usersConnectionRepository.createConnectionRepository(userId); Connection facebookConnec = connectionRepository.getPrimaryConnection(Facebook.class); Facebook facebook = facebookConnec.getApi(); facebook.pageOperations().post(pageId, message); } 

您需要’manage_pages’权限并知道要发布到的页面的ID,或者您可以获取用户有权访问的页面

 PageOperations pageOps = facebook.pageOperations(); for(org.springframework.social.facebook.api.Account account : pageOps.getAccounts()) { ... 

如果有人想出如何将照片发布到页面,请告诉我。 在那里死去。