首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Servlet使用Facebooks -API

如何从Servlet使用Facebooks -API
EN

Stack Overflow用户
提问于 2010-04-29 21:45:09
回答 1查看 2.9K关注 0票数 2

我需要从J2EE应用程序(服务器端)访问Facebook。我首先看了一下这个项目:http://code.google.com/p/facebook-java-api/,但由于我需要创建Facebook-Events并邀请人们,这并没有什么帮助。

因此,我想我需要使用Graph API,但我不知道如何执行所需的HTTP POST请求-特别是如何附加nedded属性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-29 23:56:51

您可以使用java.net.URLConnection来执行以下操作:

代码语言:javascript
复制
String url = "http://facebook.com/some/api";
String charset = "UTF-8";
String param1 = URLEncoder.encode("value1", charset);
String param2 = URLEncoder.encode("value2", charset);
String query = String.format("param1=%s&param2=%s", param1, param2);

URLConnection urlConnection = new URL(url).openConnection();
urlConnection.setUseCaches(false);
urlConnection.setDoOutput(true); // Triggers POST.
urlConnection.setRequestProperty("accept-charset", charset);
urlConnection.setRequestProperty("content-type", "application/x-www-form-urlencoded");

OutputStreamWriter writer = null;
try {
    writer = new OutputStreamWriter(urlConnection.getOutputStream(), charset);
    writer.write(query); // Write POST query string (if any needed).
} finally {
    if (writer != null) try { writer.close(); } catch (IOException logOrIgnore) {}
}

InputStream response = urlConnection.getInputStream();
// Now do your thing with the facebook response.

或者,您也可以使用更方便的HttpClient API来实现这一点:

代码语言:javascript
复制
String url = "http://facebook.com/some/api";
String charset = "UTF-8";
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("param1", "value1"));
params.add(new BasicNameValuePair("param2", "value2"));
UrlEncodedFormEntity query = new UrlEncodedFormEntity(params, charset);

HttpClient client = new DefaultHttpClient()
HttpPost post = new HttpPost(url);
post.setEntity(query);
InputStream response = client.execute(post).getEntity().getContent();
// Now do your thing with the facebook response.
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2737789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档