Java HTTP получает запрос на facebook. Неверный запрос

Я написал некоторый код для взаимодействия с facebook со стороны клиента, используя элемент управления браузера, который работал.

Я пытаюсь запустить приложение сервлета для аутентификации с помощью facebook. Сервлет повторно использует класс, который я использовал в клиенте.

Значение url_conn: https://graph.facebook.com/oauth/access_token?client_id={my-id string}&client_secret={секрет буквенно-цифровой строки}&fb_exchange_token={Действительно длинная буквенно-цифровая строка}&grant_type=fb_exchange_token . Я удалил фактические значения, в которых используются {}.

Вот код. Что случилось? Пожалуйста, дайте некоторые рекомендации. Спасибо

 try{
        System.out.println("Attempting to open connection");
    conn = (HttpURLConnection) (url_conn.openConnection());
      if (conn.getResponseCode() != 200) {
            System.out.println("Throwing IO Exception Successful on " + url_conn.toString());
        throw new IOException(conn.getResponseMessage());
      }
    //  conn.setRequestProperty("Accept-Charset","UTF-8");
      System.out.println("Attempt Successful");

      BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
      String json = reader.readLine();
      JsonReader MyJsonReader = Json.createReader(reader);
      JsonObject jsonObject = MyJsonReader.readObject();

      MyJsonReader.close();
      reader.close();        

      sb = sb.append(jsonObject.toString());    
     }
catch(Exception e)
{
    System.out.println("Error From The FileCounter Class " + e.getMessage());
    e.printStackTrace();

}

  conn.disconnect();      
    }  

person artifex_somnia    schedule 11.07.2014    source источник


Ответы (1)


Доступ к Facebook возможен только через https (s означает безопасный, что в основном означает просто http через SSL/TLS). Попробуйте использовать класс Java HttpsURLConnection вместо класса HttpURLConnection (http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/HttpsURLConnection.html). Например: HttpsURLConnection con = (HttpsURLConnection)url.openConnection();

person Treker    schedule 11.07.2014
comment
Спасибо большое чувак. Кроме того, я случайно подрезал свой ключ. теперь это исправлено - person artifex_somnia; 11.07.2014