Need to see if your shared folder is taking up space on your dropbox 👨💻? Find out how to check here.
Forum Discussion
Jagan Tirumalai
2 years agoExplorer | Level 4
Dropbox generate Auth Token thru java
Hi,
I am able to generate Access Token manually thru the dropbox website which is working fine. But expires after a few hours, Is there any method in Java that can generate access token program...
Jagan Tirumalai
2 years agoExplorer | Level 4
Hi Greg-DB
I have tried executing with ScopeAuthorize.java in my java program. When running the script its asking me to use DbxPKCEWebAuth instead of DbxWebAuth. So i have modified the code in ScopeAuthorize.java (local version) with DbxPKCEWebAuth. After changing with DbxPKCEWebAuth i am getting the following error when validating the access code.
Debug Stmts from ScopeAuthorize.java
After authorize method
Inside authorize method
in Oauth2 flow1
2. Click "Allow" (you might have to log in first).
3. Copy the authorization code.
Enter the authorization code here: 5dT79_yz4OAAAAAAAAACesA41RjYlsBmJaj9cl8HDkI
After code.trim :5dT79_yz4OAAAAAAAAACesA41RjYlsBmJaj9cl8HDkI
Before finishfromcode
Error in DbxWebAuth.authorize: {"error": "invalid_grant", "error_description": "invalid code verifier"}
I am not able to attach my java program and ScopeAuthorize.java (with my changes) to this forum. ScopeAuthorize.java is failing at line 133 which is given below.
DbxAuthFinish authFinish = webAuth.finishFromCode(code); Line 133
which i have changed it to the following (note PKCEwebAuth instead of webAuth).
System.out.println("Before finishfromcode"); --> its working up to this point
DbxAuthFinish authFinish = PKCEwebAuth.finishFromCode(code); --> its failing here
System.out.println("After finishfromcode");
DB-Des
Dropbox Community Moderator
2 years agoHi Jagan Tirumalai,
Based on the Auth URL you have provided, it looks like you are following a PKCE auth flow, which would explain why the suggestion to use DbxPKCEWebAuth is being made.
If the intention is to use PKCE, we would recommend taking a look at this example instead.
- Jagan Tirumalai2 years agoExplorer | Level 4
Hi,
Thank you for your suggestion. The class PkceAuthorize.java doesn't generate or return any access_token. How do i go about using this class?
All i need is access_token to be generated without manual intervention, so that i can automate the dropbox . Is there such a method in java dropbox api?
- DB-Des2 years ago
Dropbox Community Moderator
Hi Jagan Tirumalai,
You would need to use getter methods to retrieve the values of the respective properties. Following the example provided previously (for PKCE flow), it is returning a DbxAuthFinish object. That object contains getters for the properties that could be returned in the response — one of them being the
access_token.In this specific case, the corresponding getter method to retrieve the access token would be
getAccessToken().The following lines of code provide an example of one way the
access_tokencould be retrieved:// Assign the DbxAuthFinish object to a variable DbxAuthFinish authFinish = authorize(); // Use the getAccessToken() method to retrieve the access_token and save to a variable String accessToken = authFinish.getAccessToken();To retrieve the
refresh_token, for offline access, you would use thegetRefreshToken()method.- Jagan Tirumalai2 years agoExplorer | Level 4
Got it. Thank you once again for being patient in answering my questions. The method getAccessToken() worked fine as expected.
Is this part automated in pkceAuthorize.java ?
String authorizeUrl = pkceWebAuth.authorize(webAuthRequest);
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.");
System.out.print("Enter the authorization code here: ");
Currently i am copying the authorizeUrl and pasting it into the web browser and copying back the authorization code and pasting it into my java application and then the application runs fine.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.
If 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, Facebook or Instagram.
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!