Take Your Search Game to the Next Level with Dropbox Dash 🚀✨ Curious how it works? Ask us here!
Forum Discussion
aishwaryapb
7 years agoExplorer | Level 3
Android - Unable to save the login in my android app
Hi,
I am able to log the user in and retrieve the access token the first time and store it using SharedPreferences. However, I want the users to log in automatically the next time they open my app (retrieve the access token silently).
I can always retrieve the access token stored in the app's local storage (SharedPreferences) but it might not be valid after a few hours/days. Is there a way to check if the access token in the local storage is valid and if not, retrieve a new access token without the user entering their dropbox credentials again.
Below is my code for retrieving the access token the first time:
private void dropboxLogin() { System.out.println("First Login"); Auth.startOAuth2Authentication(MainActivity.this, APP_KEY);
} @Override protected void onResume() { super.onResume(); SharedPreferences prefs = getSharedPreferences("dropbox-sample", MODE_PRIVATE); String accessToken = prefs.getString("access-token", null); if (accessToken == null) { accessToken = Auth.getOAuth2Token(); if (accessToken != null) { prefs.edit().putString("access-token", accessToken).apply(); initAndLoadData(accessToken); } } else { initAndLoadData(accessToken); } System.out.println("Access Token: " + accessToken); String uid = Auth.getUid(); String storedUid = prefs.getString("user-id", null); if (uid != null && !uid.equals(storedUid)) { prefs.edit().putString("user-id", uid).apply(); } }
Note that I am using Dropbox API v2.
Thanks in advance!
While access tokens don't expire automatically, users can revoke access tokens at any time.
You can check if an access token is still currently valid by attempting an API call, such as getCurrentAccount.
If the access token is no longer valid though, it's not possible to get a new one without sending the user through the app authorization flow again.
1 Reply
Sort By
- Greg-DB
Dropbox Staff
While access tokens don't expire automatically, users can revoke access tokens at any time.
You can check if an access token is still currently valid by attempting an API call, such as getCurrentAccount.
If the access token is no longer valid though, it's not possible to get a new one without sending the user through the app authorization flow again.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.5,989 PostsLatest Activity: 2 days ago
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 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!