我正在使用restFB API运行一个简单的代码,在我创建令牌访问后,程序正在运行,从我的Facebook帐户检索数据,但过了一段时间我收到了异常的消息
Exception in thread "main" com.restfb.exception.FacebookOAuthException: Received Facebook error response of type OAuthException: Error validating access token: Session has expired at unix time 1376380800. The current unix time is 1376392638.
at com.restfb.DefaultFacebookClient$DefaultGraphFacebookExceptionMapper.exceptionForTypeAndMessage(DefaultFacebookClient.java:766)
at com.restfb.DefaultFacebookClient.throwFacebookResponseStatusExceptionIfNecessary(DefaultFacebookClient.java:688)
at com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse(DefaultFacebookClient.java:630)
at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:592)
at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:556)
at com.restfb.DefaultFacebookClient.fetchObject(DefaultFacebookClient.java:244)
at Example.main(Example.java:19)
我运行的产生上述异常的代码如下:
public static void main(String[] args) {
FacebookClient facebookClient = new DefaultFacebookClient("Token_Access_Code");
User user = facebookClient.fetchObject("me", User.class);
Page page = facebookClient.fetchObject("cocacola", Page.class);
System.out.println("User name: " + user.getName());
System.out.println("Page likes: " + page.getLikes());
}
以前有人经历过这样的例外吗?
您需要重新生成访问令牌。我也遇到了同样的错误,尽管根据FB文档,访问令牌应该持续60天。检查这个链接:
http://developers.facebook.com/docs/facebook-login/access-tokens/#extending