Ваадин с Instagram API

#java #vaadin #instagram

#java #vaadin #Instagram

Вопрос:

Чтобы использовать мое приложение, пользователь должен войти в свою учетную запись Instagram и предоставить моему приложению разрешение на доступ к своей информации.

Как только это будет сделано, будет возвращен URL с кодом, прикрепленным к обратной стороне (например www.google.com/code=123456789 ).

Код обменивается на токен доступа.

Мой вопрос в том:

Может ли мое приложение автоматически получать код из URL-адреса и использовать его вместо того, чтобы пользователю приходилось копировать и вставлять его?

Спасибо за чтение!

Код:

 TextField code = new TextField("Enter Code: ");

Button button = new Button("Click here to authenticate");

String callbackUrl = "http://reveal-it.appspot.com/oauthtest";

String clientID = "XXX";

String clientSecret = "XXX";

Token EMPTY_TOKEN = null;

InstagramService service = new 
InstagramAuthService().apiKey(clientId)
                      .apiSecret(clientSecret)
                      .callback(callbackUrl)
                      .build();

String authorizationUrl = service.getAuthorizationUrl(EMPTY_TOKEN);



button.addClickListener(new Button.ClickListener() {

    public void buttonClick(ClickEvent event) {
        getUI().getPage().open(authorizationUrl, "_blank");
        next();
    }   
});

public void next(){

    String verifierCode = code.getValue();

    Verifier verifier = new Verifier(verifierCode);

    Token accessToken = service.getAccessToken(EMPTY_TOKEN, verifier);

    Instagram instagram = new Instagram(accessToken);

    UserInfo userInfo = instagram.getCurrentUserInfo();    

}
  

Шаг 1: Аутентификация пользователя
введите описание изображения здесь

Шаг 2: Получите URL-адрес с прикрепленным сзади кодом, который пользователь должен скопировать и вставить в текстовое поле (это тестовый URL-адрес, который печатает код) введите описание изображения здесь

Комментарии:

1. Вы не знаете, как автоматически получить доступ к токену? я тоже использую jinstagram и вместо копирования authorizationUrl каждый раз, когда я пытался получить доступ к URL с помощью HttpURLConnection, но он не возвращает что-то вроде www.mysite.com/instagram/oauth?code=ACCESS_TOKEN

Ответ №1:

Эти социальные платформы обычно используют oauth для входа в систему и предоставления прав. Для этого существует дополнение vaadin.

https://vaadin.com/directory#addon/oauth-popup-add-on

Комментарии:

1. Я получаю «Извините, запрошенное дополнение не удалось найти». когда я нажимаю на эту ссылку.

2. Извините, исправил ссылку, https не требуется. Если это все еще не работает, то найдите дополнение: всплывающее дополнение OAuth