Java,Dropbox:无需用户复制粘贴即可获取访问令牌。
Java, Dropbox : Get access token without copy pasting by user.
我正在开发 Spring-MVC 应用程序,我想将 Dropbox 功能集成到其中。在阅读这些示例时,我发现有一些代码可以使用。但这涉及用户复制粘贴访问令牌,这在实际应用程序中不适用,而且我找不到在身份验证完成时设置重定向 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();
}
控制器代码:
@RequestMapping(value = "/logindropbox")
public String loginIntoDropbox(){
ConnectDropbox connectDropbox = new ConnectDropbox();
connectDropbox.connectToDropbox();
return "rediect:/dashboard";
}
我在 SO 上只能找到一个答案,但没有用。你能帮忙的话,我会很高兴。非常感谢。 :-)
Dropbox Java Core SDK tutorial确实使用了用户手动复制粘贴授权码的流程。这是使用提供的 DbxWebAuthNoRedirect
class.
完成的
对于重定向 URI 可用于自动传送授权码的应用,您需要使用 DbxWebAuth
class。该文档有一些示例代码:
https://dropbox.github.io/dropbox-sdk-java/api-docs/v1.7.x/com/dropbox/core/DbxWebAuth.html
还有一个 "web-file-browser" 示例应用包含在 SDK download 中,它使用 DbxWebAuth
。
我正在开发 Spring-MVC 应用程序,我想将 Dropbox 功能集成到其中。在阅读这些示例时,我发现有一些代码可以使用。但这涉及用户复制粘贴访问令牌,这在实际应用程序中不适用,而且我找不到在身份验证完成时设置重定向 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();
}
控制器代码:
@RequestMapping(value = "/logindropbox")
public String loginIntoDropbox(){
ConnectDropbox connectDropbox = new ConnectDropbox();
connectDropbox.connectToDropbox();
return "rediect:/dashboard";
}
我在 SO 上只能找到一个答案,但没有用。你能帮忙的话,我会很高兴。非常感谢。 :-)
Dropbox Java Core SDK tutorial确实使用了用户手动复制粘贴授权码的流程。这是使用提供的 DbxWebAuthNoRedirect
class.
对于重定向 URI 可用于自动传送授权码的应用,您需要使用 DbxWebAuth
class。该文档有一些示例代码:
https://dropbox.github.io/dropbox-sdk-java/api-docs/v1.7.x/com/dropbox/core/DbxWebAuth.html
还有一个 "web-file-browser" 示例应用包含在 SDK download 中,它使用 DbxWebAuth
。