我有一些麻烦的春天社交api用于linkedin。 60天后,访问令牌到期,我无法使用它在访问令牌用户的时间轴上发布。有办法传递这个错误吗?
答案 0 :(得分:0)
从http://forum.springsource.org/showthread.php?138943-Linkedin-refresh-accesstoken重复我的回答:
虽然我无法诚实地说我已经尝试过使用LinkedIn,但您应该能够获得连接(通过ConnectionRepository)并在其上调用refresh()。实际上,这应该适用于任何受OAuth2保护的API(除了不太适合OAuth2规范的Facebook)。
我还没有尝试使用LinkedIn,因为直到最近,Spring Social才通过他们的OAuth 1.0a身份验证与LinkedIn合作。但这听起来是件好事。
因此,Spring Social支持刷新访问令牌。但是,您需要手动完成(1)捕获ExpiredAuthorizationException,(2)使用ConnectionRepository获取Connection,以及(3)调用refresh()来更新连接。
如果Spring Social以某种方式为您捕获ExpiredAuthorizationException,自动调用refresh()然后重新尝试触发异常的调用,那会更棒!使呼叫者无缝。这是我一直在思考的问题,但还没有实现。
一个可能的解决方案是一个方面。但是,开发人员需要配置它以正确包装应用程序正在使用的任何API绑定类型(例如,LinkedInTemplate)。我想到的另一个选择是深入研究AbstractOAuth2ApiBinding并配置它公开的RestTemplate来处理该异常。它是否可以工作有点不确定,但是如果它确实有效,那么扩展AbstractOAuth2ApiBinding的任何API绑定都会自动获得刷新功能......除了对于那些不通过OAuth2规则进行游戏的Facebook之外