Facebookアプリの開発でOAuthを用いてログイン処理をしているのですが、
毎回ではないのですが、
エラーがでてしまいます。
そのエラー内容は次のとおりです。
java.io.IOException: Server returned HTTP response code: 400 for URL: https://graph.facebook.com/oauth/access_token?... //Javaコードでのエラー箇所 at fb.Callback.httpRequest(Callback.java:203) at fb.Callback.doGet(Callback.java:56)
というエラーになりました。
下記に該当するJavaコードを記載いたします。
java
1//アクセストークンを取り出す 2 final String accessTokenURL = 3 "https://graph.facebook.com/oauth/access_token?client_id=" 4 + appId 5 + "&redirect_uri=" 6 + URLEncoder.encode(callbackURL, "UTF-8") 7 + "&client_secret=" 8 + appSecret 9 + "&code=" 10 + URLEncoder.encode(code, "UTF-8"); 11 //Callback.java:56(1つ目のエラー) 12 final String accessTokenResult = httpRequest(new URL(accessTokenURL));
java
1String httpRequest(URL url) throws IOException { 2 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 3 conn.setDoOutput(true); 4 conn.setUseCaches(false); 5 conn.setRequestMethod("GET"); 6 //Callback.java:203(2つ目のエラー) 7 BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); 8 String line = null; 9 String response = ""; 10 while ((line = reader.readLine()) != null) { 11 response += line; 12 } 13 reader.close(); 14 conn.disconnect(); 15 return response; 16 }
エラーコードで調べて、
エンコードの記載がない(下記URL)からとかありましたが、
http://stackoverflow.com/questions/25115048/java-io-ioexception-server-returned-http-response-code-400-for-url
原因は全くわかりませんでした。
このエラーは毎回出るのではなく、
トップページからCallback.javaに時間が経ってアクセスしようとした時に起こります。(この表現が正しいのかわかりませんが)
バージョンはGraph API v2.3です。
何卒よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。