<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Java SDK - No refresh token? in Dropbox API Support &amp; Feedback</title>
    <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/478015#M24171</link>
    <description>&lt;P&gt;Hey,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;i try to get the refresh token with the Java SDK (Android App).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I start authentication with this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Auth.&lt;SPAN&gt;startOAuth2Authentication&lt;/SPAN&gt;(getContext()&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"abc"&lt;/SPAN&gt;)&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;And then in onResume:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;@Override&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;public void &lt;/SPAN&gt;&lt;SPAN&gt;onResume&lt;/SPAN&gt;() {&lt;BR /&gt;    &lt;SPAN&gt;super&lt;/SPAN&gt;.onResume()&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    if &lt;/SPAN&gt;(&lt;SPAN&gt;_isCloudAuthFlow&lt;/SPAN&gt;) {&lt;BR /&gt;&lt;BR /&gt;        &lt;SPAN&gt;_isCloudAuthFlow &lt;/SPAN&gt;= &lt;SPAN&gt;false;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;        String token = Auth.&lt;SPAN&gt;getOAuth2Token&lt;/SPAN&gt;()&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;        String refresh = Auth.&lt;SPAN&gt;getDbxCredential&lt;/SPAN&gt;().getRefreshToken()&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;_businessLogic&lt;/SPAN&gt;.getSharedPreferences().edit().putString(getString(R.string.&lt;SPAN&gt;all_settings_dropbox_authtoken&lt;/SPAN&gt;)&lt;SPAN&gt;, &lt;/SPAN&gt;token).apply()&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;    }&lt;BR /&gt;}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;I get a authToken but the refresh token is always null.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you help?&lt;/P&gt;</description>
    <pubDate>Thu, 10 Dec 2020 11:05:06 GMT</pubDate>
    <dc:creator>OPunktSchmidt</dc:creator>
    <dc:date>2020-12-10T11:05:06Z</dc:date>
    <item>
      <title>Java SDK - No refresh token?</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/478015#M24171</link>
      <description>&lt;P&gt;Hey,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;i try to get the refresh token with the Java SDK (Android App).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I start authentication with this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Auth.&lt;SPAN&gt;startOAuth2Authentication&lt;/SPAN&gt;(getContext()&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"abc"&lt;/SPAN&gt;)&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;And then in onResume:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;@Override&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;public void &lt;/SPAN&gt;&lt;SPAN&gt;onResume&lt;/SPAN&gt;() {&lt;BR /&gt;    &lt;SPAN&gt;super&lt;/SPAN&gt;.onResume()&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    if &lt;/SPAN&gt;(&lt;SPAN&gt;_isCloudAuthFlow&lt;/SPAN&gt;) {&lt;BR /&gt;&lt;BR /&gt;        &lt;SPAN&gt;_isCloudAuthFlow &lt;/SPAN&gt;= &lt;SPAN&gt;false;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;        String token = Auth.&lt;SPAN&gt;getOAuth2Token&lt;/SPAN&gt;()&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;        String refresh = Auth.&lt;SPAN&gt;getDbxCredential&lt;/SPAN&gt;().getRefreshToken()&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;_businessLogic&lt;/SPAN&gt;.getSharedPreferences().edit().putString(getString(R.string.&lt;SPAN&gt;all_settings_dropbox_authtoken&lt;/SPAN&gt;)&lt;SPAN&gt;, &lt;/SPAN&gt;token).apply()&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;    }&lt;BR /&gt;}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;I get a authToken but the refresh token is always null.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you help?&lt;/P&gt;</description>
      <pubDate>Thu, 10 Dec 2020 11:05:06 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/478015#M24171</guid>
      <dc:creator>OPunktSchmidt</dc:creator>
      <dc:date>2020-12-10T11:05:06Z</dc:date>
    </item>
    <item>
      <title>Re: Java SDK - No refresh token?</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/478133#M24176</link>
      <description>&lt;P&gt;You should use the&amp;nbsp;startOAuth2PKCE method instead of&amp;nbsp;startOAuth2Authentication now. You can find an example here:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/dropbox/dropbox-sdk-java/blob/3162efeccaca247e25553acd21f6ac0bf9018ad6/examples/android/src/main/java/com/dropbox/core/examples/android/DropboxActivity.java#L94" target="_self"&gt;https://github.com/dropbox/dropbox-sdk-java/blob/3162efeccaca247e25553acd21f6ac0bf9018ad6/examples/android/src/main/java/com/dropbox/core/examples/android/DropboxActivity.java#L94&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Dec 2020 15:32:22 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/478133#M24176</guid>
      <dc:creator>Greg-DB</dc:creator>
      <dc:date>2020-12-10T15:32:22Z</dc:date>
    </item>
    <item>
      <title>Re: Java SDK - No refresh token?</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/478968#M24195</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://www.dropboxforum.com/t5/user/viewprofilepage/user-id/10"&gt;@Greg-DB&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;P&gt;You should use the&amp;nbsp;startOAuth2PKCE method instead of&amp;nbsp;startOAuth2Authentication now. You can find an example here:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/dropbox/dropbox-sdk-java/blob/3162efeccaca247e25553acd21f6ac0bf9018ad6/examples/android/src/main/java/com/dropbox/core/examples/android/DropboxActivity.java#L94" target="_self"&gt;https://github.com/dropbox/dropbox-sdk-java/blob/3162efeccaca247e25553acd21f6ac0bf9018ad6/examples/android/src/main/java/com/dropbox/core/examples/android/DropboxActivity.java#L94&lt;/A&gt;&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Yes, with the&amp;nbsp;&lt;SPAN&gt;startOAuth2PKCE - Method i get a refresh token. Does the authToken with&amp;nbsp;startOAuth2Authentication - Method never expire?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 12 Dec 2020 18:17:11 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/478968#M24195</guid>
      <dc:creator>OPunktSchmidt</dc:creator>
      <dc:date>2020-12-12T18:17:11Z</dc:date>
    </item>
    <item>
      <title>Re: Java SDK - No refresh token?</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/479296#M24198</link>
      <description>&lt;P&gt;The&amp;nbsp;startOAuth2Authentication method uses the old flow, which currently gives legacy "long-lived access tokens", which don't expire by themselves. Note that &lt;A href="https://dropbox.tech/developers/migrating-app-permissions-and-access-tokens#retiring-legacy-tokens" target="_self"&gt;starting&amp;nbsp;September 30th, 2021&amp;nbsp;Dropbox will no longer return new long-lived access tokens&lt;/A&gt;, so you should switch to the new flow.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The&amp;nbsp;startOAuth2PKCE uses the new flow, which gives&amp;nbsp;"short-lived access tokens", which do expire by themselves, as well as "refresh tokens",&amp;nbsp;which don't expire by themselves.&lt;/P&gt;</description>
      <pubDate>Mon, 14 Dec 2020 16:18:15 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/479296#M24198</guid>
      <dc:creator>Greg-DB</dc:creator>
      <dc:date>2020-12-14T16:18:15Z</dc:date>
    </item>
    <item>
      <title>Re: Java SDK - No refresh token?</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/480625#M24253</link>
      <description>&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Fri, 18 Dec 2020 20:59:50 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/480625#M24253</guid>
      <dc:creator>OPunktSchmidt</dc:creator>
      <dc:date>2020-12-18T20:59:50Z</dc:date>
    </item>
    <item>
      <title>Re: Java SDK - No refresh token?</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/508209#M25094</link>
      <description>&lt;P&gt;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&amp;nbsp; you&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Normally I check if I have the token, then call:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Auth.startOAuth2Authentication(getActivity(), db_k);&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;While now I call:&lt;/P&gt;&lt;PRE&gt;Auth.&lt;SPAN&gt;startOAuth2PKCE&lt;/SPAN&gt;(&lt;SPAN&gt;context&lt;/SPAN&gt;, &lt;SPAN&gt;db_k&lt;/SPAN&gt;, DbxRequestConfig.&lt;SPAN&gt;newBuilder&lt;/SPAN&gt;(&lt;SPAN&gt;"app"&lt;/SPAN&gt;)&lt;BR /&gt;        .withHttpRequestor(&lt;SPAN&gt;new &lt;/SPAN&gt;OkHttp3Requestor(OkHttp3Requestor.&lt;SPAN&gt;defaultOkHttpClient&lt;/SPAN&gt;()))&lt;BR /&gt;        .build(), Collections.&lt;SPAN&gt;singleton&lt;/SPAN&gt;(&lt;SPAN&gt;"files.content.write"&lt;/SPAN&gt;));&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Which gives me a token, that then I store, and re-use the following time and also for the actual operation:&lt;/P&gt;&lt;PRE&gt;DropboxClientFactory.&lt;SPAN&gt;init&lt;/SPAN&gt;(accessToken);&lt;BR /&gt;PicassoClient.&lt;SPAN&gt;init&lt;/SPAN&gt;(&lt;SPAN&gt;context&lt;/SPAN&gt;, DropboxClientFactory.&lt;SPAN&gt;getClient&lt;/SPAN&gt;());&lt;BR /&gt;DbxClientV2 mDbxClient = DropboxClientFactory.&lt;SPAN&gt;getClient&lt;/SPAN&gt;();&lt;BR /&gt;&lt;BR /&gt;mDbxClient.files().uploadBuilder(&lt;SPAN&gt;"/"&lt;/SPAN&gt;+&lt;SPAN&gt;recordingToExport&lt;/SPAN&gt;.getName()+&lt;SPAN&gt;"_Features.csv"&lt;/SPAN&gt;)&lt;BR /&gt;            .withMode(WriteMode.&lt;SPAN&gt;OVERWRITE&lt;/SPAN&gt;)&lt;BR /&gt;            .uploadAndFinish(inputStream);&lt;/PRE&gt;&lt;P&gt;How does this code change when using short lived access tokens?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your documentation on github doesn't seem to use any of this. Please help&lt;/P&gt;</description>
      <pubDate>Fri, 26 Mar 2021 19:15:34 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/508209#M25094</guid>
      <dc:creator>marcoalt</dc:creator>
      <dc:date>2021-03-26T19:15:34Z</dc:date>
    </item>
    <item>
      <title>Re: Java SDK - No refresh token?</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/508692#M25108</link>
      <description>&lt;P&gt;&lt;a href="https://www.dropboxforum.com/t5/user/viewprofilepage/user-id/1269850"&gt;@marcoalt&lt;/a&gt;&amp;nbsp;I see you've also opened &lt;A href="https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-issues-with-short-lived-token/m-p/508280" target="_self"&gt;a new thread&lt;/A&gt; for this, so I'll follow up with you there.&lt;/P&gt;</description>
      <pubDate>Mon, 29 Mar 2021 15:01:23 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Java-SDK-No-refresh-token/m-p/508692#M25108</guid>
      <dc:creator>Greg-DB</dc:creator>
      <dc:date>2021-03-29T15:01:23Z</dc:date>
    </item>
  </channel>
</rss>

