使用App ID和App Secret检索公共Facebook帖子

时间:2014-03-31 18:59:38

标签: facebook spring facebook-graph-api spring-boot spring-social-facebook

我有一个与公司页面相关联的Facebook应用程序。该页面上有公开帖子,我想通过spring-social-facebook插件为spring-boot检索这些帖子(最终是图片等)。

我能够在不作为特定FB用户进行身份验证的情况下检索Page对象,但是如何获取与公司相关的公共信息(例如墙上帖子,上传的图像等)?

    Page page = facebook.pageOperations().getPage("1234567");
    List<Post> posts = facebook.feedOperations().getFeed();

    model.addAttribute("page", page);
    model.addAttribute("posts", posts);
    return "hello";

我可以访问page对象($ {page.category}),但是当我尝试获取帖子时,我得到以下异常:

org.springframework.social.MissingAuthorizationException: Authorization is required for the operation, but the API binding was created without authorization.

我的目标是为这个特定公司创建REST服务,用于使用自己的公共FB数据填充只读前端,而无需使用Facebook进行任何最终用户身份验证。

谢谢!

1 个答案:

答案 0 :(得分:1)

根据Page Documentation,获取帖子 -

  

查看完整公开页面中的字段需要应用或用户访问令牌。   
需要用户访问令牌才能查看此人能够查看的受限页面中的字段(例如限制某些人口统计信息,如位置或年龄,或者只有Page admins可以查看的那些)。   
页面访问令牌也可用于查看受限制的字段。

要在没有用户身份验证的情况下从公共页面获取帖子,您可以使用应用访问令牌app_id | app_secret)(过期从不)。

但请注意,将应用访问令牌暴露给客户端是不安全的,因为它是您应用的密码。