如何使用从 facebook API 生成的访问令牌在 facebook 墙上发布数据。
问问题
2093 次
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 回答