1

可能重复:
使用图形 api 发布到 facebook 用户的墙上

如何使用从 facebook API 生成的访问令牌在 facebook 墙上发布数据。

4

1 回答 1

1

使用 commons-http-client 和 graph api,代码将如下所示。

class WallPostService{
    ...
    public makeWallPost(){
        HttpClient client = null;
        PostMethod method = null;
        String urlStr = null;
        String linkText = ""; //Facebook page name or alias
        String linkURL = ""; //Facebook page URL
        String response = null;
        String accessToken = null;

        try{
            urlStr = "https://graph.facebook.com/$PROFILE_ID$/feed";
            urlStr = urlStr.replace("$PROFILE_ID$", facebookId);
            accessToken = getAccessToken();//[USER ACCESS TOKEN]
            client = new HttpClient();
            method = new PostMethod(urlStr);
            method.setRequestHeader("pageEncoding", "UTF-8");
            method.setRequestHeader("Content-Type", "text/html; charset=UTF-8");

            method.addParameter("access_token", accessToken);
            method.addParameter("message", "");
            method.addParameter("link", "Link of wall post header");
            method.addParameter("name", "Header of wall post");
            method.addParameter("actions", "[{\"name\": \"" + linkText + "\" , \"link\": \"" + linkURL + "\"}]");

            method.addParameter("caption", " ");
            method.addParameter("description", "message body here");
            method.addParameter("picture", "http://www.example.com/test.jpg");
            client.executeMethod(method);
            response = method.getResponseBodyAsString();
           }
           catch(Exception e){

           }
           finally{
               method.releaseConnection();
           }

    }
}
于 2012-09-03T12:27:25.327 回答