2013-12-22 3 views
3

Я разрабатываю программу просмотра фотографий, которая представляет собой приложение для рабочего стола java и интегрирует его с facebook. Я использую библиотеку Facebook4J. Но я невежественный, где предоставить имя пользователя и пароль для пользователя ....Как подключиться к facebook с помощью Facebook4j

Я использую следующий код:

public static Configuration createConfiguration() { 
    ConfigurationBuilder confBuilder = new ConfigurationBuilder(); 

    confBuilder.setDebugEnabled(true); 
    confBuilder.setOAuthAppId("************"); 
    confBuilder.setOAuthAppSecret("***************"); 
    confBuilder.setUseSSL(true); 
    confBuilder.setJSONStoreEnabled(true); 
    Configuration configuration = confBuilder.build(); 
    return configuration; 
} 
public static void main(String[] argv) throws FacebookException { 
    Configuration configuration = createConfiguration(); 
    FacebookFactory facebookFactory = new FacebookFactory(configuration); 
    Facebook facebookClient = facebookFactory.getInstance(); 
    AccessToken accessToken = null; 
    try{ 
     OAuthSupport oAuthSupport = new OAuthAuthorization(configuration); 
     accessToken = oAuthSupport.getOAuthAppAccessToken(); 

    }catch (FacebookException e) { 
     System.err.println("Error while creating access token " + e.getLocalizedMessage()); 
    } 
    facebookClient.setOAuthAccessToken(accessToken); 
//results in an error says {An active access token must be used to query information about the current user} 
    facebookClient.postStatusMessage("Hello World from Facebook4J."); 
} 

Как скоротать username и password пользователя?

+0

Привет Могу ли я узнать, как она была решена средствами, как учетные данные для входа в систему – RamBen

+0

вы можете использовать браузер, предоставленную javafx и взять учетные данные пользователя оттуда. а также получить токен acces из временной ссылки, на которую браузер перенаправляется в течение короткого периода времени. взгляните на мой проект-концентратор git, который уже делает это ... https://github.com/tamojit9/java-facebook-api –

+0

Спасибо Тамоджит Чаттерджи, Просто я проверил ваш код github здесь Мне нужно войти в систему без ответа любые формы входа означают автоматическое использование логина/учетных данных – RamBen

ответ

4

Вы должны получить OAuthAppId из facebook. Для этого создайте приложение на Facebook Developers и нажмите «Создать новое приложение». Заполните форму, затем скопируйте в нее файл AppId и Appsecret со страницы, которая отображается в вашем коде. Пример:

confBuilder.setOAuthAppId("YOUR APPID HERE"); 
confBuilder.setOAuthAppSecret("YOUR APPSECRET HERE"); 

Чтобы получить маркер доступа, вы должны построить поток входа, как описано here

+0

Я уже создал приложение и имею приложение-id и appsecret, но не раскрыл его здесь по понятным причинам. У меня возникла проблема с проектированием потока входа –

+0

Вы должны отправить запрос HTTPS на facebook.com: GET https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials (оставить client_credentials как это является). – k1ps

+0

hi k1ps, используя приведенную выше ссылку, мы получим app-accesstoken, если нам нужен пользователь accesstoken с открытым логином, как мы можем получить. означает, что пользователь должен автоматически запускать программу (может автоматически использовать логин fb) – RamBen

Смежные вопросы