问题使用带有access_token的facebookclient对象连接到Facebook

时间:2012-02-16 12:42:54

标签: java facebook facebook-graph-api

我试图从我的脸谱图api用户墙中检索帖子。 我实施的代码如下。

try 
{
    FacebookClient facebookClient = new DefaultFacebookClient("123406454567|hEcTbdascdfffffa1e334gf");
    Connection<Post> posts = facebookClient.fetchConnection(""+id+"/posts", Post.class);//id=app-user-id
    java.util.List<Post> list;
    list = posts.getData();
    for(Post p:list)
    {
        System.out.println(p.getDescription());
    }
} 
catch (FacebookException e) 
{
    e.printStackTrace();
}

我使用以下链接检索了app的access_token:

https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=***&client_secret=***

我收到警告:

  

2012-02-16 17:35:28.291:WARN :: /           java.lang.NoClassDefFoundError:org / apache / log4j / Logger               在com.restfb.DefaultWebRequestor。(DefaultWebRequestor.java:73)               在com.restfb.DefaultFacebookClient。(DefaultFacebookClient.java:119)               在com.akaara.se.fb.FacebookCallbackHandler $ FacebookCallbackHandlerDelegate.handleHttpPost(FacebookCallbackHandler.java:98)               在com.akaara.se.fb.FacebookCallbackHandler $ FacebookCallbackHandlerDelegate.handle(FacebookCallbackHandler.java:49)               在org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)               在org.mortbay.jetty.Server.handle(Server.java:326)               在org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)               at org.mortbay.jetty.HttpConnection $ RequestHandler.content(HttpConnection.java:943)               在org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)               在org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)               在org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)               在org.mortbay.jetty.bio.SocketConnector $ Connection.run(SocketConnector.java:228)               在org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:582)

从这一点我可以理解access_token是问题。 我是新手。 谁能帮我这个? 在此先感谢。

我已将log4j.jar包含在我的构建路径中。

2 个答案:

答案 0 :(得分:0)

您的警告与log4j有关,log4j是用于记录的库。要使警告消失,您需要从here下载库并将其添加到您的程序中。

当你下载用于连接到Facebook的库时,它或者带有这种依赖关系,或者说它需要才能正常运行。您正在使用的库可能还需要其他依赖项,我建议您检查它以确保您没有遗漏任何内容。

答案 1 :(得分:0)

转到apache.org中的log4j

下载jar并将其包含在您的项目中。

基本上它抱怨你缺少可以在log4j包中找到的Logger类。您的程序中可能存在其他问题,但这是此警告/错误所抱怨的内容。