Facebook 未获取访问令牌或重定向过多

Facebook 未获取访问令牌或重定向过多,facebook,facebook-graph-api,access-token,restfb,Facebook,Facebook Graph Api,Access Token,Restfb,根据这一点,我正在设置url以获取访问令牌。下面是我的重定向URI字符串和URLFORACCESS令牌字符串 String redirectUri = "http://xxxx.mine.nu:8081/myfacebookapp/myfbapp"; String urlForAccessToken = "https://www.facebook.com/dialog/oauth?client_id="+apiKey+"&redirect_uri="+redirectUri+"&

根据这一点,我正在设置url以获取访问令牌。下面是我的重定向URI字符串和URLFORACCESS令牌字符串

String redirectUri = "http://xxxx.mine.nu:8081/myfacebookapp/myfbapp";

String urlForAccessToken = "https://www.facebook.com/dialog/oauth?client_id="+apiKey+"&redirect_uri="+redirectUri+"&scope=email,read_stream";
我在facebook上的网站URL和应用程序域(我们在这里设置应用程序的基础知识)是:

现在,问题是当我执行response.sendRedirect(urlForAccessToken)时;从servlet中,我得到以下错误:

The web page at http://xxxx.mine.nu:8081/myfacebookapp/myfbapp?code=xxx#base_domain=xxxx.mine.nu
 has resulted in too many redirects. Clearing your cookies for this site
 or allowing third-party cookies may fix the problem. If not, it is possibly
 a server configuration issue and not a problem with your computer.
我清除了饼干,但没有成功

有人能告诉我我做错了什么吗。我只是想获取访问令牌,希望访问facebook用户的基本数据和扩展数据

我的平台是Java,我使用restFB与graph API通信

下面是我的servlet代码:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<br><h4>We are getting Facebook data</h4>");
    response.sendRedirect(urlForAccessToken);
    String access_token = (String)request.getParameter("access_token");
    out.println("<br>code: " + code);
    try{
        FacebookClient facebookClient = new DefaultFacebookClient(access_token);
        //user = facebookClient.fetchObject("xxxxxxxxxxxx", User.class);
        out.println("<br>User: " + user.getName());
    }catch(FacebookException e){
        e.printStackTrace();
    }
}
public void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
out.println(“我们正在获取Facebook数据”);
sendRedirect(urlForAccessToken);
字符串访问令牌=(字符串)请求.getParameter(“访问令牌”);
out.println(“
代码:“+code”); 试一试{ FacebookClient FacebookClient=新的默认FacebookClient(访问令牌); //user=facebookClient.fetchObject(“xxxxxxxxxxx”,user.class); out.println(“
用户:+User.getName()); }catch(facebook异常e){ e、 printStackTrace(); } }

感谢您尽早回复。

您是否发现问题所在?我在一个特定的用户身上遇到了同样的问题。
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<br><h4>We are getting Facebook data</h4>");
    response.sendRedirect(urlForAccessToken);
    String access_token = (String)request.getParameter("access_token");
    out.println("<br>code: " + code);
    try{
        FacebookClient facebookClient = new DefaultFacebookClient(access_token);
        //user = facebookClient.fetchObject("xxxxxxxxxxxx", User.class);
        out.println("<br>User: " + user.getName());
    }catch(FacebookException e){
        e.printStackTrace();
    }
}