We are aware of the issue with the badge emails resending to everyone, we apologise for the inconvenience - learn more here.
Forum Discussion
OPunktSchmidt
4 years agoExplorer | Level 3
Java SDK - No refresh token?
Hey, i try to get the refresh token with the Java SDK (Android App). I start authentication with this: Auth.startOAuth2Authentication(getContext(), "abc"); And then in onResume: @Ove...
- 4 years ago
The startOAuth2Authentication method uses the old flow, which currently gives legacy "long-lived access tokens", which don't expire by themselves. Note that starting September 30th, 2021 Dropbox will no longer return new long-lived access tokens, so you should switch to the new flow.
The startOAuth2PKCE uses the new flow, which gives "short-lived access tokens", which do expire by themselves, as well as "refresh tokens", which don't expire by themselves.
OPunktSchmidt
Explorer | Level 3
Greg-DB wrote:You should use the startOAuth2PKCE method instead of startOAuth2Authentication now. You can find an example here:
Yes, with the startOAuth2PKCE - Method i get a refresh token. Does the authToken with startOAuth2Authentication - Method never expire?
Greg-DB
4 years agoDropbox Staff
The startOAuth2Authentication method uses the old flow, which currently gives legacy "long-lived access tokens", which don't expire by themselves. Note that starting September 30th, 2021 Dropbox will no longer return new long-lived access tokens, so you should switch to the new flow.
The startOAuth2PKCE uses the new flow, which gives "short-lived access tokens", which do expire by themselves, as well as "refresh tokens", which don't expire by themselves.
- OPunktSchmidt4 years agoExplorer | Level 3
Thanks
- marcoalt4 years agoExplorer | Level 4
can you clarify if the only thing I need to do is to set short lived token online in the console, and then use this different authorization method, and the API will take care of it, or if I need to do anything different? I don't understand if I need to store any access token or if I need to make different calls later. Thank you
Normally I check if I have the token, then call:
Auth.startOAuth2Authentication(getActivity(), db_k);
While now I call:
Auth.startOAuth2PKCE(context, db_k, DbxRequestConfig.newBuilder("app")
.withHttpRequestor(new OkHttp3Requestor(OkHttp3Requestor.defaultOkHttpClient()))
.build(), Collections.singleton("files.content.write"));Which gives me a token, that then I store, and re-use the following time and also for the actual operation:
DropboxClientFactory.init(accessToken);
PicassoClient.init(context, DropboxClientFactory.getClient());
DbxClientV2 mDbxClient = DropboxClientFactory.getClient();
mDbxClient.files().uploadBuilder("/"+recordingToExport.getName()+"_Features.csv")
.withMode(WriteMode.OVERWRITE)
.uploadAndFinish(inputStream);How does this code change when using short lived access tokens?
Your documentation on github doesn't seem to use any of this. Please help
- Greg-DB4 years agoDropbox Staff
marcoalt I see you've also opened a new thread for this, so I'll follow up with you there.
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!