Announcements
Known issues updated. Learn more

Android - Unable to save the login in my android app

Level 3

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!

 

1 Accepted solution

Accepted Solutions
Highlighted

Re: Android - Unable to save the login in my android app

Dropboxer

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.

Reply
Loading...
1 Reply
Highlighted

Re: Android - Unable to save the login in my android app

Dropboxer

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.

Reply
Loading...
API Support

Have a question? Our Dropbox Community is here to help you find an answer!
You won’t have to wait too long for a reply, but why not learn more about the Community while you’re here.

Not the right discussion for you? Find out what else our Community has to say about API Support.

Or, search our Help Center for even more.