我按照 spring.io 网站上的说明进行操作:http://spring.io/guides/gs/accessing-twitter/ http://spring.io/guides/gs/accessing-twitter/
而且我没有建立连接。 “findPrimaryConnection()”调用返回 null。我没有看到任何抛出异常。我确实在 .properties 文件中设置了 appId 和 appSecret 。
这是控制器代码:
@Controller
@RequestMapping("/")
public class HelloController {
private Twitter twitter;
private ConnectionRepository connectionRepository;
@Inject
public HelloController(Twitter twitter, ConnectionRepository connectionRepository) {
this.twitter = twitter;
this.connectionRepository = connectionRepository;
}
@RequestMapping(method=RequestMethod.GET)
public String helloTwitter(Model model) {
if (connectionRepository.findPrimaryConnection(Twitter.class) == null) {
System.out.println("******** no connection yet: " + connectionRepository.findPrimaryConnection(Twitter.class));
return "redirect:/connect/twitter";
}
System.out.println("******** connection found");
model.addAttribute(twitter.userOperations().getUserProfile());
CursoredList<TwitterProfile> friends = twitter.friendOperations().getFriends();
model.addAttribute("friends", friends);
return "hello";
}
}
这是 HTML 表单:
<form action="/connect/twitter" method="POST">
<div class="formInfo">
<p>You aren't connected to Twitter yet. Click the button to connect this application with your Twitter account.</p>
</div>
<p><button type="submit">Connect to Twitter</button></p>
</form>
您需要设置回调地址在 Twitter 的应用程序设置中 - 这应该在 Spring 指南中说明。
例如,我的应用程序使用此回调 url:
http://127.0.0.1:3000/auth/twitter/callback
输入字段下方有解释:
回调网址:认证成功后应该返回哪里? OAuth 1.0a 应用程序应在请求令牌步骤中显式指定其 oauth_callback URL,无论此处给出的值如何。要限制您的应用程序使用回调,请将此字段留空。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)