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