您好我正在玩春季启动和学习网络服务。我开始玩facebook graph api并使用restfb。我每次都获得访问令牌并对其进行硬编码。现在我不总是想要硬编码我的凭证(访问令牌),我希望能够在我登录到我的帐户时获取令牌,而无需每次尝试从面部检索我的照片并使用它时硬编码访问令牌在我的申请中。有没有人使用restfb向我展示了如何自动获取访问令牌而无需硬编码的示例。谢谢。我的uri只是“localhost:8080 / myapp。”
@Controller
@RequestMapping("/")
public class HomeController {
@Value("#{faceBookappId['APP_KEY']}")
private static String APP_KEY;
@Value("#{faceBookappSecret['SECRET']}")
private static String APP_SECRET;
private FacebookClient.AccessToken getFaceBookUserToken(String code, String url) throws IOException {
WebRequestor web = new DefaultWebRequestor();
WebRequestor.Response accessTokens = web.executeGet("https://graph.facebook.com/oauth/access_token?client_id="+
APP_KEY+url+"&client_secret="+APP_SECRET+"&code=" + code);
return DefaultFacebookClient.AccessToken.fromQueryString(accessTokens.getBody());
}
@RequestMapping(method= RequestMethod.GET)
public String helloFaceBook(Model model) {
String url = "https://www.facebook.com/dialog/oauth?"+APP_KEY;
return "redirect"+url;
}
}
答案 0 :(得分:0)
您可以使用DefaultFacebookClient中的obtainUserAccessToken
FacebookClient facebookClient = new DefaultFacebookClient(Version.VERSION_2_2);
facebookClient.obtainUserAccessToken(appId, appSecret, redirectUri, verificationCode);