2017-04-03 196 views
1

我流汗了一个问题:服务器返回的HTTP响应代码:400 Facebook的

错误:服务器返回的HTTP响应代码:400网址

网址:https://graph.facebook.com/me?fields=id%2Cname%2Cemail%2Cgender& =的access_token XXXXXXXXXXXXXXXXXXX

以下是我的代码:

public String getFBGraph() { 
    String graph = null; 

    try { 

     String g ="https://graph.facebook.com/me?fields=id%2Cname%2Cemail%2Cgender&"+accessToken; 


     URL u=new URL(g); 
     URLConnection c=u.openConnection(); 


     BufferedReader in=new BufferedReader(new InputStreamReader(c.getInputStream())); 
     String inputLine; 

     StringBuffer b=new StringBuffer(); 
     while ((inputLine=in.readLine())!=null) 
      b.append(inputLine+"\n"); 
     in.close(); 
     graph=b.toString(); 
     //System.out.println(graph); 
    } catch (Exception e) { 
     e.printStackTrace(); 

     throw new RuntimeException("ERROR in getting FB graph data. "+e); 
    } 
    return graph; 

} 

我从调用方法运行它时收到错误,并且当我将粘贴相同的URL复制到浏览器获取输出时,请帮助我,我的accesstocken是完美的,是什么问题?

回答

0

则很可能只是忘了access_token=参数名称添加到您的URL字符串:

String g ="https://graph.facebook.com/me?fields=id%2Cname%2Cemail%2Cgender&"+accessToken

Facebook将与HTTP状态代码400响应,在这种情况下:

10.4。 1 400错误请求 由于格式错误,服务器无法理解请求。客户端不应该在没有修改的情况下重复请求。

,并会说沿着

线的东西“一个积极的访问令牌必须用于查询当前用户的信息。”

在响应正文中。

+0

没有先生我添加了我的accesstocken,但显示我一样... –

+0

@HareshPrajapati你有没有试过用'System.out.println(g)'输出生成的URL并在浏览器中打开它?查看完整响应主体(针对400错误)也是很好的,因为它通常会提供有关请求错误的一些详细信息。 – zeppelin

相关问题