尝试访问graph.facebook.com时,Android中的java.net.UnknownHostException

时间:2014-06-17 11:26:51

标签: android facebook

我有一个Android应用程序,我试图从Facebook获取信息。我使用了一个http get请求,并且在一个实例中实际效果很好(当我尝试获取用户共同的朋友列表时)。

但是,我试图获取用户事件,并且出于某种原因我得到了这个例外。有趣的是,URL工作得很好(在调试时在浏览器中测试)并且如上所述 - 我在代码中的另一个地方使用相同的方法来获取某些东西并且它有效。我完全失去了它,试图找出错误的原因!

以下是代码:

String accessToken = Session.getActiveSession().getAccessToken(); 
String query = "https://graph.facebook.com/me/events/attending?fields=id,name,location,venue,start_time,end_time,privacy&access_token=" + accessToken; 

HttpGet get = new HttpGet(query);
HttpClient client = new DefaultHttpClient();

try {
    HttpResponse response = client.execute(get);
    String result = EntityUtils.toString(response.getEntity());

JSONObject eventsJsonObj = new JSONObject(result); 

JSONArray eventsArray = eventsJsonObj.getJSONArray("data");

for (int i=0; i < eventsArray.length(); i++) {
    // do something with event 
}

} catch (ClientProtocolException e) {
    // TODO Auto-generated catch block
e.printStackTrace();
} 

编辑:这里是堆栈跟踪和在调试中检查并在浏览器中检查的URL(当然用[access_token]替换访问令牌)。顺便说一句,您可以使用图表api explorer

中的访问令牌自行尝试网址

网址:https://graph.facebook.com/me/events/attending?fields=id,name,location,venue,start_time,end_time,privacy&access_token=[access_token]

06-17 15:07:17.684:W / System.err(22733):java.net.UnknownHostException 06-17 15:07:17.684:W / System.err(22733):at org.apache.http.impl.conn.DefaultClientConnectionOperator.getAllByName(DefaultClientConnectionOperator.java:272) 06-17 15:07:17.684:W / System.err(22733):at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:153) 06-17 15:07:17.684:W / System.err(22733):at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:167) 06-17 15:07:17.689:W / System.err(22733):at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:125) 06-17 15:07:17.689:W / System.err(22733):at org.apache.http.impl.client.DefaultRequestDirector.executeOriginal(DefaultRequestDirector.java:1171) 06-17 15:07:17.689:W / System.err(22733):at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:637) 06-17 15:07:17.689:W / System.err(22733):at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 06-17 15:07:17.689:W / System.err(22733):at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 06-17 15:07:17.694:W / System.err(22733):at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465) 06-17 15:07:17.694:W / System.err(22733):at

1 个答案:

答案 0 :(得分:0)

经过对Eclipse的大量攻击后,我终于找到了我所犯的愚蠢(但又合理)的错误。

我在主线程上调用了请求,这是每个人都知道不要做的事情。所以这就是问题......如果有人遇到过。

Facebook收到请求。