我从Android原生应用程序获得了访问令牌。我通过Graph API调试器进行了测试,并在接下来的两个月内进行了测试。使用相同的访问令牌处理Facebook模板。当我尝试template.isAuthorized时,它返回true.But当我尝试访问template.userOperations它通过以下错误请帮忙。
Exception in thread "main" java.lang.NoSuchMethodError: org.springframework.social.MissingAuthorizationException: method <init>(Ljava/lang/String;)V not found
at org.springframework.social.facebook.api.impl.FacebookErrorHandler.handleFacebookError(FacebookErrorHandler.java:89)
at org.springframework.social.facebook.api.impl.FacebookErrorHandler.handleError(FacebookErrorHandler.java:65)
at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:486)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:443)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:415)
at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:213)
at org.springframework.social.facebook.api.impl.FacebookTemplate.fetchConnections(FacebookTemplate.java:222)
at org.springframework.social.facebook.api.impl.FacebookTemplate.fetchConnections(FacebookTemplate.java:216)
答案 0 :(得分:1)
堆栈跟踪有点误导,因为您实际上正在查看班级java.lang.NoSuchMethodError
中的org.springframework.social.MissingAuthorizationException
。
更具体地说,它抱怨method <init>(Ljava/lang/String;)V not found
,或者换句话说:在上述类中不存在采用字符串参数的构造函数。
对我而言,听起来你正在运行一个相当旧版本的Spring,很可能是1.0.x版本。即比较版本1.0.3和1.1.0的构造函数:
1.0.3:public MissingAuthorizationException()
1.1.0:public MissingAuthorizationException(String providerId)
当您切换到具有字符串参数化MissingAuthorizationException
构造函数的Spring版本时,您的问题应该立即解决。
//编辑:构造函数已更改为在2012年10月包含提供者ID。确切地说,是This commit。