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

试图访问graph.facebook.com时Android中的java.net.UnknownHostException,android,facebook,Android,Facebook,我有一个android应用程序,我试着从Facebook上获取信息。我使用了一个HTTPGET请求,并且在一个实例中(当我尝试获取用户共同的朋友列表时)实际效果非常好 但是,我试图获取用户事件,由于某种原因,我得到了这个异常。有趣的是,URL工作得很好(在调试时在浏览器中对其进行了测试),如前所述,我在代码的另一个地方使用了相同的方法来获取一些东西,并且工作得很好。我想弄清楚到底出了什么问题,真是不知所措 代码如下: String accessToken = Session.getActiveS

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

但是,我试图获取用户事件,由于某种原因,我得到了这个异常。有趣的是,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();
} 
String accessToken=Session.getActiveSession().getAccessToken();
字符串查询=”https://graph.facebook.com/me/events/attending?fields=id,名称、位置、地点、开始时间、结束时间、隐私和访问令牌=“+accessToken;
HttpGet=newhttpget(查询);
HttpClient=new DefaultHttpClient();
试一试{
HttpResponse response=client.execute(get);
字符串结果=EntityUtils.toString(response.getEntity());
JSONObject EventsJSONObject=新JSONObject(结果);
JSONArray eventsArray=eventsJsonObj.getJSONArray(“数据”);
对于(int i=0;i
编辑:这是在调试中获取的堆栈跟踪和在浏览器中签入的url(当然用[access_token]替换访问令牌)。顺便说一句,您可以使用graph api资源管理器中的访问令牌自己尝试url

网址:

06-17 15:07:17.684:W/System.err(22733):java.net.UnknownHostException 06-17 15:07:17.684:W/System.err(22733):位于org.apache.http.impl.conn.DefaultClientConnectionOperator.getAllByName(DefaultClientConnectionOperator.java:272) 06-17 15:07:17.684:W/System.err(22733):位于org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:153) 06-17 15:07:17.684:W/System.err(22733):位于org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:167) 06-17 15:07:17.689:W/System.err(22733):位于org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:125) 06-17 15:07:17.689:W/System.err(22733):位于org.apache.http.impl.client.DefaultRequestDirector.executeOriginal(DefaultRequestDirector.java:1171) 06-17 15:07:17.689:W/System.err(22733):位于org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:637) 06-17 15:07:17.689:W/System.err(22733):位于org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 06-17 15:07:17.689:W/System.err(22733):位于org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 06-17 15:07:17.694:W/System.err(22733):位于org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
06-17 15:07:17.694:W/System.err(22733):在对Eclipse进行了大量攻击之后,我终于发现了我犯的愚蠢(但合理)错误

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


Facebook接受get请求

尝试记录您的URL,然后在浏览器中尝试该URL。它有效吗?希望您已经在清单中声明了internet权限。请使用post方法代替get…:)您好,谢谢@拉维巴特-试过了。它起作用了。当然我给了互联网许可。@Hardik-也试过了。仍然不走运…请确保您的设备已连接到internet。。!!