You might see that the Dropbox Community team have been busy working on some major updates to the Community itself! So, here is some info on what’s changed, what’s staying the same and what you can expect from the Dropbox Community overall.
Forum Discussion
ksprasad
8 years agoNew member | Level 2
Unexpected response code 400
Hi, I had been able to successfully connect to dropbox using dropbox api. I am using the bundle dropbox-core-sdk 1.7.6 from maven repository. But since recently I am getting the below error fro...
- 8 years ago
The Dropbox Java SDK you're using (v1.7.6) is old and is using the now retired API v1. Calling API v1 will return a 400 error since it is now disabled.
You should instead use the latest version of the Dropbox Java SDK (currently v3.0.5), which uses API v2.
Greg-DB
8 years agoDropbox Staff
The Dropbox Java SDK you're using (v1.7.6) is old and is using the now retired API v1. Calling API v1 will return a 400 error since it is now disabled.
You should instead use the latest version of the Dropbox Java SDK (currently v3.0.5), which uses API v2.
- ksprasad8 years agoNew member | Level 2
Thank you for the clarification.
- Asakela7 years agoNew member | Level 2I AM not a developer - I am but a humble user. The answer doesn’t give me any clues about remedies to my problem. What can I do to make my connection work again?
- Tanny7 years agoExplorer | Level 3
Hola,
Yo engo el mismo problema, pero creo estar usando la versión más reciente de la api java de dropbox:
El código que estoy usando es:
package dropbox; // Include the Dropbox SDK. import com.dropbox.core.*; import com.fasterxml.jackson.core.*; import java.io.*; import java.util.Locale; public class Main { public static void main(String[] args) throws IOException, DbxException{ // 1) Provide app key and secret to the new DbxWebAuthNoRedirect object. final String APP_KEY = "asdf"; final String APP_SECRET = "asdf"; DbxAppInfo appInfo = new DbxAppInfo(APP_KEY, APP_SECRET); DbxRequestConfig config = new DbxRequestConfig( "JavaTutorial/1.0", Locale.getDefault().toString()); DbxWebAuthNoRedirect webAuth = new DbxWebAuthNoRedirect(config, appInfo); // 2) start the OAuth flow String authorizeUrl = webAuth.start(); // Have the user sign in and authorize your app. 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."); String code = new BufferedReader(new InputStreamReader(System.in)).readLine().trim(); DbxAuthFinish authFinish = webAuth.finish(code); String accessToken = authFinish.accessToken; DbxClient client = new DbxClient(config, accessToken); System.out.println("Linked account: " + client.getAccountInfo().email); } }
Y obtengo el siguiente error:
Exception in thread "main" com.dropbox.core.DbxException$BadResponse: unexpected response code: 400 at com.dropbox.core.DbxClient$4.handle(DbxClient.java:350) at com.dropbox.core.DbxClient$4.handle(DbxClient.java:346) at com.dropbox.core.DbxRequestUtil.doGet(DbxRequestUtil.java:242) at com.dropbox.core.DbxClient.doGet(DbxClient.java:2167) at com.dropbox.core.DbxClient.getAccountInfo(DbxClient.java:346) at dropbox.Main.main(Main.java:49) C:\Users\tnogales\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1 BUILD FAILED (total time: 2 seconds)
Me estoy rompiendo la cabeza y no encuentro la solución :(
- Greg-DB7 years agoDropbox Staff
De acuerdo con su captura de pantalla, también está usando una versión anterior del SDK (1.8.2). Actualice a la última versión (actualmente 3.0.8).
Como referencia, el reemplazo de getAccountInfo es getCurrentAccount.
---Disculpe nuestras traducciones Nuestras traducciones fueron creadas usando un traductor en línea. Nos gustaría apoyar todos los idiomas, pero actualmente no estamos equipados para hacerlo. Aquí está la versión en inglés:
---
Please excuse our translations. Our translations were created using an online translator. We'd like to support every language, but we're not currently equipped to do so. Here is the English version:
---
According to your screenshot, you are also using an old version of the SDK (1.8.2). Please update to the latest version (currently 3.0.8).
For reference, the replacement for getAccountInfo is getCurrentAccount.
- Tanny7 years agoExplorer | Level 3
Thank you!!! I did it and it worked !!!, but now I am getting other problem:
------------------------------------------------------------------------ Building dropbox 1.0-SNAPSHOT ------------------------------------------------------------------------ --- exec-maven-plugin:1.2.1:exec (default-cli) @ dropbox --- Tanny Nogales Exception in thread "main" com.dropbox.core.v2.files.ListFolderErrorException: Exception in 2/files/list_folder: {".tag":"path","path":"not_found"} at com.dropbox.core.v2.files.DbxUserFilesRequests.listFolder(DbxUserFilesRequests.java:1621) at com.dropbox.core.v2.files.DbxUserFilesRequests.listFolder(DbxUserFilesRequests.java:1662) at com.neges.dropbox.Main.main(Main.java:35) ------------------------------------------------------------------------ BUILD FAILURE ------------------------------------------------------------------------ Total time: 3.336s Finished at: Thu Jul 26 10:47:09 NDT 2018 Final Memory: 5M/123M ------------------------------------------------------------------------ Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project dropbox: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1] To see the full stack trace of the errors, re-run Maven with the -e switch. Re-run Maven using the -X switch to enable full debug logging. For more information about the errors and possible solutions, please read the following articles: [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
If you see, I am correctly getting the username "tanny nogales", but I can't retrieve the files in the folder "neges" :(
My code is the following:
package com.neges.dropbox; import com.dropbox.core.DbxException; import com.dropbox.core.DbxRequestConfig; import com.dropbox.core.v2.DbxClientV2; import com.dropbox.core.v2.files.FileMetadata; import com.dropbox.core.v2.files.ListFolderResult; import com.dropbox.core.v2.files.Metadata; import com.dropbox.core.v2.users.FullAccount; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.io.IOException; public class Main { private static final String ACCESS_TOKEN = "ASDFG"; public static void main(String args[]) throws DbxException, FileNotFoundException, IOException { // Create Dropbox client DbxRequestConfig config = DbxRequestConfig.newBuilder("dropbox/java-tutorial").build(); DbxClientV2 client = new DbxClientV2(config, ACCESS_TOKEN); // Get current account info FullAccount account = client.users().getCurrentAccount(); System.out.println(account.getName().getDisplayName()); // Get files and folder metadata from Dropbox root directory ListFolderResult result = client.files().listFolder("/neges"); while (true) { for (Metadata metadata : result.getEntries()) { System.out.println("Archivo: " + metadata.getPathLower()); } if (!result.getHasMore()) { break; } result = client.files().listFolderContinue(result.getCursor()); } } }
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
5,912 PostsLatest Activity: 3 months agoIf you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!