0

我一直在使用下面的代码使用restFb api从我的facebook主页获取数据。

          import java.util.List;

          import com.restfb.Connection;
          import com.restfb.DefaultFacebookClient;
          import com.restfb.FacebookClient;
          import com.restfb.FacebookClient.AccessToken;
          import com.restfb.types.Post;
          import com.restfb.types.User;

          public class restFB_tester {

            public static void main(String[] args) {

                //60 days auth
                String authToken="XXXXXXX";

                FacebookClient fbClient = new DefaultFacebookClient(authToken);     
                Connection<Post> result=fbClient.fetchConnection("me/home",Post.class);

                int counter =0;
                for(List<Post> page :result)
                {
                  for(Post aPost:page)
                  {
                      System.out.println(aPost.getMessage());
                      System.out.println("fb.com/"+aPost.getId());
                      counter++;      
                  }
                }       
                System.out.println("No of Posts : "+counter);
            }

          }

这会引发错误:

线程“主”com.restfb.exception.FacebookOAuthException 中的异常:收到 OAuthException 类型的 Facebook 错误响应:(#200) 需要扩展权限:com.restfb.DefaultFacebookClient$DefaultGraphFacebookExceptionMapper.exceptionForTypeAndMessage(DefaultFacebookClient) 处的 read_stream(代码 200,子代码空) .java:1186) 在 com.restfb.DefaultFacebookClient.throwFacebookResponseStatusExceptionIfNecessary(DefaultFacebookClient.java:1112) 在 com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse(DefaultFacebookClient.java:1053) 在 com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:964)在 com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:926) 在 com.restfb.DefaultFacebookClient.fetchConnection(DefaultFacebookClient.java:356) 在 org.hive。facebook.restFB_tester.main(restFB_tester.java:29)

我一直在尝试解决这个问题,但找不到任何运气。如果我使用返回用户数据的“我/提要”,我能够获取数据。我尝试在谷歌上找到它并尝试了不同的方法,但没有帮助。我在创建令牌时授予了所有权限。

请让我知道我在哪里做错了或者有什么可能的解决方案。在此先感谢。

4

1 回答 1

-1

请让我知道我在哪里做错了

您正在使用旧代码,并且显然没有费心检查文档以了解当前 API 版本中仍然可能存在的内容。

https://developers.facebook.com/docs/apps/changelog#v2_4_deprecations

GET /v2.4/{user_id}/home、GET /v2.4/{user_id}/inbox 和 GET /v2.4/{user_id}/notifications 操作以及 read_stream、read_mailbox 和 manage_notifications 权限已弃用在 v2.4 中。

您根本无法再获得该数据。您将不得不使用/me/feed,以及提供的帖子。(文档中提到了哪些是。)

于 2016-05-26T11:41:36.893 回答