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
VIctorCZ
3 years agoNew member | Level 2
Get new AccessToken when access token expired (Android)
I apologize in advance for my English.
I have several android applications that use Dropbox to send and load data.
Until the last update, Dropbox communication worked properly - probably an Access Token without expiring
Here is a sample of the code I use:
// Create Dropbox client
DbxRequestConfig config;
config = new DbxRequestConfig("dropbox/appName");
return new DbxClientV2(config, ACCESS_TOKEN);
// save Access Token
if (ACCESS_TOKEN == null) {
String accessToken = Auth.getOAuth2Token(); //generate Access Token
if (accessToken != null) {
//add accessToken to SharedPreferences
SharedPreferences prefs = context.getSharedPreferences("com.appName.dropboxintegration", Context.MODE_PRIVATE);
prefs.edit().putString("access-token", accessToken).apply();
}
}
//load Acces token from SharedPreferences
SharedPreferences prefs = context.getSharedPreferences("com.appName.dropboxintegration", Context.MODE_PRIVATE);
String accessToken = prefs.getString("access-token", null);
if (accessToken == null) {
Log.d("AccessToken Status", "No token found");
return null;
} else {
//accessToken already exists
Log.d("AccessToken Status", "Token exists");
return accessToken;
}
// here it falls on expired
try {
MoveFile();
} catch (InvalidAccessTokenException ex) {
endSend = null;
resetToken = true;
ex.printStackTrace();
} catch (DbxException e) {
endSend = null;
e.printStackTrace();
}
I tried to call OAuth again. - repeatedly reports the token has expired
I tried to terminate the token - it won't work
I tried to use Auth.startOAuth2PKCE () to log in - it reports a token malfunction
Auth.getOAuth2Token () does not return a new token
my questions:
How do I request a new AccessToken whenever I find out it's expired.
I can somehow request a token without expiring.
Do I need to convert the application to a short-term token?
For Android apps using the official Dropbox API v2 Java SDK, you should upgrade to the latest version of the SDK (currently v5.4.4) and use the updated authorization functionality, starting with the startOAuth2PKCE method. You can find an example app here. For instance, you can see where that starts in the code here and how the result is handled here. When you use that functionality as shown, the SDK will then handle the refresh process for you automatically.
--
Edit: updated version number and links.
- Greg-DBDropbox Staff
For Android apps using the official Dropbox API v2 Java SDK, you should upgrade to the latest version of the SDK (currently v5.4.4) and use the updated authorization functionality, starting with the startOAuth2PKCE method. You can find an example app here. For instance, you can see where that starts in the code here and how the result is handled here. When you use that functionality as shown, the SDK will then handle the refresh process for you automatically.
--
Edit: updated version number and links.
- VIctorCZNew member | Level 2
Thank you for your response and help. Using the new SDK, startOAuth2PKCE and DbxCredential, I got accessToken and refreshToken. It's working properly now.
- sundar_papcoNew member | Level 2
Hello!
Both the code links mentioned in the accepted answer are now dead. Kindly update the links please
- ЗдравкоLegendary | Level 20
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
5,883 PostsLatest Activity: 12 hours 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!