public FacebookConnector() {
try {
FacebookClient.AccessToken token = getFacebookUserToken("???", "http://localhost:8083/CrunchifyJSPServletExample/");
String accessToken = token.getAccessToken();
Date expires = token.getExpires();
fbClient = new DefaultFacebookClient(this.accessToken, Version.LATEST);
myuser = fbClient.fetchObject("me", User.class);
mypage = fbClient.fetchObject(pageID, Page.class);
counter = 0;
} catch (Exception ex) { //So that you can see what went wrong
ex.printStackTrace(System.err); //in case you did anything incorrectly
}
}
public void makeTestPost() {
FacebookType publishMessageResponse = fbClient.publish("me/feed", FacebookType.class, Parameter.with("message", "Test from Graph API"));
System.out.println("Published message ID: " + publishMessageResponse.getId());
}
private FacebookClient.AccessToken getFacebookUserToken(String code, String redirectUrl) throws IOException {
String appId = "My App Id";
String secretKey = "My Secret Key";
WebRequestor wr = new DefaultWebRequestor();
WebRequestor.Response accessTokenResponse = wr.executeGet(
"https://graph.facebook.com/oauth/access_token?client_id=" + appId + "&redirect_uri=" + redirectUrl
+ "&client_secret=" + secretKey + "&code=" + code);
return DefaultFacebookClient.AccessToken.fromQueryString(accessTokenResponse.getBody());
}
我正在为我的应用程序启用facebook共享,这是基于JSP和servlet构建的。
我正在使用上面的代码。
我需要你对两件事的输入: 1)如果我的方法是正确的。 2)如何获得授权代码?这样可以帮助我获取身份验证令牌。
任何形式的帮助表示赞赏。谢谢。 AY
答案 0 :(得分:1)
对于facebook身份验证,您可以这样做: -
<a href="http://www.facebook.com/dialog/oauth?+client_id=YourAPPID&scope=email,user_birthday,user_about_me,user_likes,user_photos,user_tagged_places,user_friends,user_posts,publish_actions,read_page_mailboxes,user_actions.music,user_tagged_places,user_status,user_website,manage_pages,read_custom_friendlists&redirect_uri=<%=URLEncoder.encode("Your Redirect URL")%>">Click</a>
它将生成代码然后使用此代码在您的代码中正确编写时向graph.facebook发送请求然后它将生成访问代码并根据您的要求使用访问代码