facebook在servlet上分享,jsp;获取身份验证代码;

时间:2015-11-06 02:36:06

标签: facebook facebook-graph-api servlets restfb

    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

1 个答案:

答案 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发送请求然后它将生成访问代码并根据您的要求使用访问代码