Java、Dropbox : Get access token without copy pasting by user.

标签 java spring dropbox dropbox-api

我正在开发 Spring-MVC 应用程序,我想将 Dropbox 功能集成到其中。当我阅读示例时,我看到有一些我可以使用的代码。但这涉及用户复制粘贴访问 token ,这在现实世界的应用程序中不适用,而且我找不到在身份验证完成时设置重定向 URL 的方法。我应该做哪些更改,以便代码不需要复制粘贴,而是可以直接检索。

代码:

 public void connectToDropbox() {

        DbxAppInfo appInfo = new DbxAppInfo(APP_KEY, APP_SECRET);

        DbxRequestConfig config = new DbxRequestConfig("JavaTutorial/1.0",
                Locale.getDefault().toString());

        DbxWebAuthNoRedirect webAuth = new DbxWebAuthNoRedirect(config, appInfo);


        // Have the user sign in and authorize your app.
        String authorizeUrl = webAuth.start();
        System.out.println("1. Go to: " + authorizeUrl);
        System.out.println("2. Click \"Allow\" (you might have to log in first)");
// No, I dont want to copy the authorization code. 
        System.out.println("3. Copy the authorization code.");
        String code = null;
        try {
            code = new BufferedReader(new InputStreamReader(System.in)).readLine().trim();
        } catch (IOException e) {
            e.printStackTrace();
        }

Controller 代码:

 @RequestMapping(value = "/logindropbox")
    public String loginIntoDropbox(){
        ConnectDropbox connectDropbox = new ConnectDropbox();
        connectDropbox.connectToDropbox();
        return "rediect:/dashboard";
    }

我在 SO 上只能找到一个答案,但这没有用。你能帮忙的话,我会很高兴。多谢。 :-)

最佳答案

[引用交叉链接:https://www.dropboxforum.com/hc/communities/public/questions/203308909-Dropbox-authentication-without-copy-pasting-the-access-token-manually-in-Java- ]

Dropbox Java Core SDK tutorial确实使用用户手动复制并粘贴授权代码的流程。这是使用提供的 DbxWebAuthNoRedirect 类完成的。

对于可使用重定向 URI 自动传递授权代码的应用,您需要改用 DbxWebAuth 类。该文档有一些示例代码:

https://dropbox.github.io/dropbox-sdk-java/api-docs/v1.7.x/com/dropbox/core/DbxWebAuth.html

SDK download 中还包含一个“web-file-browser”示例应用程序使用DbxWebAuth

关于Java、Dropbox : Get access token without copy pasting by user.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31316572/

相关文章:

Java - 通过 TCP 连接发送无符号字节

java - Java 中的新对象发送编译错误

java - Spring Boot Actuate 实例化错误

没有 Spring Boot 和 @EnableAutoConfiguration 的 Spring Boot 2 Actuator

objective-c - 使用 iOS Dropbox SDK 分块上传核心数据

javascript - Dropbox 打开按钮如何工作?

java - 游戏找不到 native 库 - jinput-linux64

java - 无法在本地 tomcat(spring boot 嵌入式)服务器上运行 Spring Boot 1.5.10.RELEASE

Git 和 Dropbox - 本地存储库

java - Web服务客户端堆栈跟踪