我正在尝试使用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,这意味着它是一个糟糕的请求。我想知道为什么当我尝试在程序中运行它时它会有不同的反应。我知道我做错了什么,但想知道错误是什么,为什么会发生?对此事的任何见解都将不胜感激。
答案 0 :(得分:1)
firstReq
网址中存在错误。它包含“& scope”之间的空白字符。试试这个(我刚删除了空格):
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";