Проблемы с настройкой ScribeJava

367
22 февраля 2017, 20:55

Пытаюсь реализовать простую задачу - пост какого-либо сообщения на стену в социальных сетях. Наткнулся на данную библиотеку ScribeJava. Создал приложение на Facebook. Открыл пример FacebookExample. Пытаюсь запустить. В качестве callback использую "https://www.google.com".

public static void main(String... args) throws IOException, InterruptedException, ExecutionException {
    // Replace these with your client id and secret
    final String clientId = "176......550";
    final String clientSecret = "2b8...............42";
    final String secretState = "secret" + new Random().nextInt(999_999);
    final OAuth20Service service = new ServiceBuilder()
            .apiKey(clientId)
            .apiSecret(clientSecret)
            .state(secretState)
            //.callback("http://www.example.com/oauth_callback/")
            .callback("https://www.google.com")
            .build(FacebookApi.instance());
    final Scanner in = new Scanner(System.in, "UTF-8");
    System.out.println("=== " + NETWORK_NAME + "'s OAuth Workflow ===");
    System.out.println();
    // Obtain the Authorization URL
    System.out.println("Fetching the Authorization URL...");
    final String authorizationUrl = service.getAuthorizationUrl();
    System.out.println("Got the Authorization URL!");
    System.out.println("Now go and authorize ScribeJava here:");
    System.out.println(authorizationUrl);
    System.out.println("And paste the authorization code here");
    System.out.print(">>");
    final String code = in.nextLine();
    System.out.println();
    System.out.println("And paste the state from server here. We have set 'secretState'='" + secretState + "'.");
    System.out.print(">>");
    final String value = in.nextLine();
    if (secretState.equals(value)) {
        System.out.println("State value does match!");
    } else {
        System.out.println("Ooops, state value does not match!");
        System.out.println("Expected = " + secretState);
        System.out.println("Got      = " + value);
        System.out.println();
    }
    // Trade the Request Token and Verfier for the Access Token
    System.out.println("Trading the Request Token for an Access Token...");
    final OAuth2AccessToken accessToken = service.getAccessToken(code);
    System.out.println("Got the Access Token!");
    System.out.println("(if your curious it looks like this: " + accessToken
            + ", 'rawResponse'='" + accessToken.getRawResponse() + "')");
    System.out.println();
    // Now let's go and ask for a protected resource!
    System.out.println("Now we're going to access a protected resource...");
    final OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_URL);
    service.signRequest(accessToken, request);
    final Response response = service.execute(request);
    System.out.println("Got it! Lets see what we found...");
    System.out.println();
    System.out.println(response.getCode());
    System.out.println(response.getBody());
    System.out.println();
    System.out.println("Thats it man! Go and build something awesome with ScribeJava! :)");
}

Пытаюсь вставить ответ, который проходит после редиректа. Он имеет вид:

https://www.google.com.ua/?state=secret592342&gws_rd=cr&ei=cyisWPHZKMKxsQGT5pKgBg#_=_

Затем вставляю Secret, который приходит там же. После чего возникает ошибка: Что я делаю не так?

UPD: Добавил полный код ошибки:

Exception in thread "main" FacebookAccessTokenErrorResponse{'type'='OAuthException', 'code'='100', 'fbtraceId'='FdKIXHhZ6PN', 'rawResponse'='{"error":{"message":"Invalid verification code format.","type":"OAuthException","code":100,"fbtrace_id":"FdKIXHhZ6PN"}}', 'message'='Invalid verification code format.'}
at com.github.scribejava.apis.facebook.FacebookAccessTokenJsonExtractor.generateError(FacebookAccessTokenJsonExtractor.java:44)
at com.github.scribejava.core.extractors.OAuth2AccessTokenJsonExtractor.extract(OAuth2AccessTokenJsonExtractor.java:47)
at com.github.scribejava.core.extractors.OAuth2AccessTokenJsonExtractor.extract(OAuth2AccessTokenJsonExtractor.java:16)
at com.github.scribejava.core.oauth.OAuth20Service.sendAccessTokenRequestSync(OAuth20Service.java:37)
at com.github.scribejava.core.oauth.OAuth20Service.getAccessToken(OAuth20Service.java:61)
at com.killersssurprise.SocialMedia.FacebookExample.main(FacebookExample.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
READ ALSO
Проверка типа файла Java

Проверка типа файла Java

Подскажите как проверить тип или расширение файла? Я проверяю файл на расширение, в конце имениНо я знаю что можно его изменить и, допустим,...

361
Почему после изменения parent Theme пропали menu icons в ActionBar?

Почему после изменения parent Theme пропали menu icons в ActionBar?

Изменила parent Theme с parent="@android:style/ThemeMaterial

180
Получить список из JSON

Получить список из JSON

ЗдравствуйтеЕсть класс RateObject:

373
Проверка активностей в приложении

Проверка активностей в приложении

Как при запуске приложения можно просмотреть какие активити были запущены?

180