We are aware of the issue with the badge emails resending to everyone, we apologise for the inconvenience - learn more here.
Forum Discussion
Jagan Tirumalai
2 months 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...
DB-Des
Dropbox Engineer
Hi Jagan Tirumalai,
Even though Dropbox issues short-lived access tokens, apps can get long-term access by requesting "offline" access, in which case the app receives a "refresh token" that can be used to retrieve new short-lived access tokens as needed, without further manual user intervention. Refresh tokens do not expire automatically and can be used repeatedly. You can find more information in the OAuth Guide and authorization documentation. There's a basic outline of processing this flow in this blog post which may serve as a useful example.
For your use case, working with refresh tokens would be easier with our official Java SDK. Helper methods accept the refresh token, and manage this update of the short-lived access token for you.
I hope you find this information helpful!
Jagan Tirumalai
2 months agoExplorer | Level 4
Thank you very much for your response. I have generated an access code from oauth2. Its asking me to enter this code into CLIENTSDATA (which is the app i created in dropbox). I don't know where to enter this Access Code in ClientsData. Given below are the screenshots of the access code from OAUTH2 and ClientsData settings/permissions. Where do i enter this access code in ClientsData settings/permissions?
- Greg-DB2 months agoDropbox Staff
Jagan Tirumalai That "access code" is also known as the "authorization code". It should not be copied into the app's settings on the App Console; it should be copied back into the app itself. For example, refer to this line in the Java SDK example code that reads the authorization code back into the app so it can then finish the authorization flow.
- Jagan Tirumalai2 months 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-Des2 months agoDropbox Engineer
Hi 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.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
5,877 PostsLatest Activity: 12 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!