java DropBox SDK генерирует токен с помощью Redirect - PullRequest
1 голос
/ 18 апреля 2020

после прочтения официальной документации Dropbox мне удалось написать этот код для аутентификации пользователя с помощью DropBox и получения его токена доступа. Пользователь должен скопировать и вставить токен, мне не нравится этот шаг, и я заметил, что какой-то разработчик может использовать метод withRedirect() класса DbxWebAuth. Существует пример использования перенаправления, но он предназначен для веб-приложений, и я не смог адаптировать его для своего настольного приложения. Кто-нибудь из вас имел какое-либо отношение к этому? В настоящее время это мой код

 public static void main(String[] args) throws Exception {

    String accessToken = "";
    String userLocale = null;
    DbxRequestConfig requestConfig = new DbxRequestConfig("text-edit/0.1", userLocale);
    DbxAppInfo appInfo = new DbxAppInfo("myString", "myString");
    DbxWebAuth auth = new DbxWebAuth(requestConfig, appInfo);
    DbxWebAuth.Request requestAuth = DbxWebAuth.newRequestBuilder().withNoRedirect().build();
    String authorizeUrl = auth.authorize(requestAuth);

    System.out.println("1. Go to " + authorizeUrl);
    System.out.println("2. Click \"Allow\" (you might have to log in first).");
    System.out.println("3. Copy the authorization code.");

    //Abrimos el enlace de autenticación del paciente en la carpeta de DropBox
    try {
        URL authenticationURL = new URL(authorizeUrl);
        Desktop.getDesktop().browse(authenticationURL.toURI());

    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    JFrame frame1 = new JFrame("InputDialog Example #2");
    frame1.setAlwaysOnTop(true);

    String code = JOptionPane.showInputDialog(frame1, "Insert verification code");

    System.out.println(code);
    code = code.trim();

    try {
        DbxAuthFinish authFinish = auth.finishFromCode(code);

        accessToken = authFinish.getAccessToken();

    } catch (Exception e) {

    }
}
...