java - 为什么我收到 400 响应代码?

标签 java facebook facebook-graph-api restfb

我正在尝试通过 Java (restfb) 来熟悉使用 facebook API。我正在尝试以下代码。

public class FBJava {

    private String API_Key = "xxxxxx";
    private String API_Secret = "xxxxxxxx";

    public String firstReq = "https://graph.facebook.com/oauth/authorize?client_id="+API_Key+"&" +
            "redirect_uri=http://www.facebook.com/connect/login_success.html& scope=publish_stream,offline_access,create_event";
    public String secondReq = "https://graph.facebook.com/oauth/access_token?client_id="+API_Key+"" +
            "&redirect_uri=http://www.facebook.com/connect/login_success.html&client_secret="+API_Secret+"&code=";


    public static void main(String[] args) throws IOException {
        FBJava fb = new FBJava();

        System.out.println(fb.firstReq);
        URL request = new URL(fb.firstReq);

        HttpURLConnection conn = (HttpURLConnection) request.openConnection();
        conn.connect();

        int code = conn.getResponseCode();
        System.out.println(code);

    }
}

当我在浏览器中手动运行firstReq字符串时,它会将我重定向到正确的页面。但是当我检查响应代码时,我收到 400,这意味着这是一个错误的请求。我想知道为什么当我尝试通过程序运行它时它的响应不同。我知道我做错了什么,但想知道错误是什么以及为什么会发生?对此事的任何见解都将受到赞赏。

最佳答案

firstReq 网址中有错误。它在“&范围”之间包含一个空格字符。试试这个(我刚刚删除了空格):

  public String firstReq = "https://graph.facebook.com/oauth/authorize?client_id="+API_Key+"&" +
    "redirect_uri=http://www.facebook.com/connect/login_success.html&scope=publish_stream,offline_access,create_event";

关于java - 为什么我收到 400 响应代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19597810/

相关文章:

ruby-on-rails - 如何使用 Facebook 登录向门卫进行身份验证?

php - Facebook Graph Api 获取链接帖子的图像

java - 将 BitSet 设置为原始类型?

java - 我使用 poi-scratchpad-3.2-FINAL.jar 收到配置构建路径

java - 使用对象调用方法时遇到问题

javascript - Facebook 如何根据用户屏幕自动显示正确尺寸的图像?

java - 如何使用 Jersey Client 将 HTTP 400 响应解析为 Java 类?

java - 用于查找 Java/Javascript 的类似重复源代码的自动重构工具?

java - 使用 Jsoup 解析 facebook 的问题

Android Facebook Sdk 4.11.0 如何在没有任何链接或图像的情况下将简单的状态更新发布到墙上