<?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 Re: RefreshToken is always expired android java Api in Discuss Dropbox Developer &amp; API</title>
    <link>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620431#M2867</link>
    <description>&lt;P&gt;Thanks for the help ! the links you attached are helpful !&lt;/P&gt;</description>
    <pubDate>Mon, 05 Sep 2022 12:36:19 GMT</pubDate>
    <dc:creator>YousefElsayed</dc:creator>
    <dc:date>2022-09-05T12:36:19Z</dc:date>
    <item>
      <title>RefreshToken is always expired android java Api</title>
      <link>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620210#M2858</link>
      <description>&lt;P&gt;Hello ,&lt;BR /&gt;I am trying to save an Refreshtoken so I don't request from the user to login again , But every time i use the saved refreshtoken i get token expired error&lt;BR /&gt;&lt;BR /&gt;Start Auth Code:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;DbxRequestConfig config = DbxRequestConfig&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;newBuilder&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"AppName"&lt;/SPAN&gt;&lt;SPAN&gt;).&lt;/SPAN&gt;&lt;SPAN&gt;build&lt;/SPAN&gt;&lt;SPAN&gt;();&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN&gt;Auth&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;startOAuth2PKCE&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;DROPBOX_ACCOUNT_KEY&lt;SPAN&gt;,&lt;/SPAN&gt;config&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;How i retrieve the tokens:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;@Override&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;protected void &lt;/SPAN&gt;&lt;SPAN&gt;onResume&lt;/SPAN&gt;&lt;SPAN&gt;() {&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;super&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;onResume&lt;/SPAN&gt;&lt;SPAN&gt;();&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;if &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;Auth&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;getDbxCredential&lt;/SPAN&gt;&lt;SPAN&gt;() != &lt;/SPAN&gt;&lt;SPAN&gt;null&lt;/SPAN&gt;&lt;SPAN&gt;){&lt;BR /&gt;&lt;/SPAN&gt;        //DROPBOX_AUTH_KEY &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;Auth&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;getOAuth2Token&lt;/SPAN&gt;&lt;SPAN&gt;();&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;DROPBOX_AUTH_KEY = Auth.getDbxCredential().getRefreshToken();&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;Log&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;d&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"Debug"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;"ResultAuth Key: "&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;Auth&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;getOAuth2Token&lt;/SPAN&gt;&lt;SPAN&gt;());&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;Log&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;d&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"Debug"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;"ResultAuth Refresh Key: "&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;Auth&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;getDbxCredential&lt;/SPAN&gt;&lt;SPAN&gt;().&lt;/SPAN&gt;&lt;SPAN&gt;getRefreshToken&lt;/SPAN&gt;&lt;SPAN&gt;());&lt;BR /&gt;&lt;/SPAN&gt;        sharedPreferences&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;edit&lt;/SPAN&gt;&lt;SPAN&gt;().&lt;/SPAN&gt;&lt;SPAN&gt;putString&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"dropBoxToken"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;Auth&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;getDbxCredential&lt;/SPAN&gt;&lt;SPAN&gt;().&lt;/SPAN&gt;&lt;SPAN&gt;getRefreshToken&lt;/SPAN&gt;&lt;SPAN&gt;().&lt;/SPAN&gt;&lt;SPAN&gt;toString&lt;/SPAN&gt;&lt;SPAN&gt;()).&lt;/SPAN&gt;&lt;SPAN&gt;apply&lt;/SPAN&gt;&lt;SPAN&gt;();&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    }&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;UploadCode:&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;DbxClientV2 &lt;/SPAN&gt;client &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;DbxClientV2&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;config&lt;SPAN&gt;,&lt;/SPAN&gt;DROPBOX_AUTH_KEY&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;//Upload Image&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;AsyncTask&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;execute&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;Runnable&lt;/SPAN&gt;&lt;SPAN&gt;() {&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;@Override&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;public void &lt;/SPAN&gt;&lt;SPAN&gt;run&lt;/SPAN&gt;&lt;SPAN&gt;() {&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;try &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;InputStream &lt;/SPAN&gt;in &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;FileInputStream&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;filePath&lt;/SPAN&gt;&lt;SPAN&gt;)) {&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;FileMetadata &lt;/SPAN&gt;metadata &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;client&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;files&lt;/SPAN&gt;&lt;SPAN&gt;().&lt;/SPAN&gt;&lt;SPAN&gt;uploadBuilder&lt;/SPAN&gt;&lt;SPAN&gt;(PATH&lt;/SPAN&gt;&lt;SPAN&gt;).&lt;/SPAN&gt;&lt;SPAN&gt;withMode&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;WriteMode&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;OVERWRITE&lt;/SPAN&gt;&lt;SPAN&gt;).&lt;/SPAN&gt;&lt;SPAN&gt;uploadAndFinish&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;in&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;        } &lt;/SPAN&gt;&lt;SPAN&gt;catch &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;DbxException &lt;/SPAN&gt;&lt;SPAN&gt;| &lt;/SPAN&gt;&lt;SPAN&gt;IOException &lt;/SPAN&gt;&lt;SPAN&gt;e&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;Log&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;d&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"Debug"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"DropBox Upload Error: " &lt;/SPAN&gt;&lt;SPAN&gt;+ &lt;/SPAN&gt;&lt;SPAN&gt;e&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;getMessage&lt;/SPAN&gt;&lt;SPAN&gt;());&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;e&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;printStackTrace&lt;/SPAN&gt;&lt;SPAN&gt;();&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;        }&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    }&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;Error:&lt;BR /&gt;DropBox Upload Error: {"error_summary": "expired_access_token/&lt;BR /&gt;&lt;BR /&gt;But always get Expired Token Error , Thanks&lt;/P&gt;</description>
      <pubDate>Sun, 04 Sep 2022 05:55:40 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620210#M2858</guid>
      <dc:creator>YousefElsayed</dc:creator>
      <dc:date>2022-09-04T05:55:40Z</dc:date>
    </item>
    <item>
      <title>Re: RefreshToken is always expired android java Api</title>
      <link>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620230#M2859</link>
      <description>&lt;P&gt;Hmm...&lt;img class="lia-deferred-image lia-image-emoji" src="https://www.dropboxforum.com/html/@9AD39CA637682E9616FBE31CDAF1B6C4/emoticons/1f914.png" alt=":thinking_face:" title=":thinking_face:" /&gt; So, where you instantiated your client object, actually. Such an error should be on instantiation, but that part of the code is missing (it's not in the post)!&lt;/P&gt;&lt;P&gt;Whatever you have done, seems it's far from the optimal. The main part should be DbxCredential class object (without focus on its parts - they can change over time). That what you have done is opposite. Instead stringify only refresh token only (which itself is a string), you can stringify entire credentials object (in such a way including contained refresh token together with everything else). When you need to instantiate a client object, just do the opposite - instantiate back DbxCredential class object from saved string and use it on client instantiation. In such a way you code wont depend on changes in the implementation (like now). &lt;img class="lia-deferred-image lia-image-emoji" src="https://www.dropboxforum.com/html/@41457EF40051AFF130FDBFE21B496926/emoticons/1f609.png" alt=":winking_face:" title=":winking_face:" /&gt; Be more object oriented (&lt;img class="lia-deferred-image lia-image-emoji" src="https://www.dropboxforum.com/html/@FBF7D2AB59A0D6E861EBF6A36F93B7E2/emoticons/1f642.png" alt=":slightly_smiling_face:" title=":slightly_smiling_face:" /&gt; make your code actually).&lt;/P&gt;&lt;P&gt;Hope this gives direction.&lt;/P&gt;</description>
      <pubDate>Sat, 03 Sep 2022 22:53:08 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620230#M2859</guid>
      <dc:creator>Здравко</dc:creator>
      <dc:date>2022-09-03T22:53:08Z</dc:date>
    </item>
    <item>
      <title>Re: RefreshToken is always expired android java Api</title>
      <link>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620256#M2861</link>
      <description>&lt;P&gt;Sorry, I didn't add the full upload code please check it now, The way the app works is after the first Auth i locally&amp;nbsp;save the refreshtoken string i get from here&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Auth.getDbxCredential().getRefreshToken();&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;After that in any other runs I get the token i saved&amp;nbsp;locally and pass it to the client like this&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;DbxClientV2 &lt;/SPAN&gt;client &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;DbxClientV2&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;config&lt;SPAN&gt;,&lt;/SPAN&gt;DROPBOX_AUTH_KEY&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;But if i try to upload files i always get token expired error but if i understand well then the refresh token should never expire unless the user revoke the account access&lt;BR /&gt;&lt;BR /&gt;Sorry but this is my first time dealing with Dropbox Api and the documentation does not explain well for android apps&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 04 Sep 2022 06:00:26 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620256#M2861</guid>
      <dc:creator>YousefElsayed</dc:creator>
      <dc:date>2022-09-04T06:00:26Z</dc:date>
    </item>
    <item>
      <title>Re: RefreshToken is always expired android java Api</title>
      <link>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620302#M2862</link>
      <description>&lt;P&gt;Hi again &lt;a href="https://www.dropboxforum.com/t5/user/viewprofilepage/user-id/1570107"&gt;@YousefElsayed&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;I would suggest usage of more descriptive var names to avoid different types of confusion. What actually means "DROPBOX_AUTH_KEY" here (for instance)? 🧐 Is it access token or refresh token??? &lt;img class="lia-deferred-image lia-image-emoji" src="https://www.dropboxforum.com/html/@9AD39CA637682E9616FBE31CDAF1B6C4/emoticons/1f914.png" alt=":thinking_face:" title=":thinking_face:" /&gt;&lt;/P&gt;&lt;P&gt;According to:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://www.dropboxforum.com/t5/user/viewprofilepage/user-id/1570107"&gt;@YousefElsayed&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;P&gt;...&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Auth.getDbxCredential().getRefreshToken();&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;...&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;It should be refresh token, but if we take a look on:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://www.dropboxforum.com/t5/user/viewprofilepage/user-id/1570107"&gt;@YousefElsayed&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;P&gt;...&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;DbxClientV2 &lt;/SPAN&gt;client &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;DbxClientV2&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;config&lt;SPAN&gt;,&lt;/SPAN&gt;DROPBOX_AUTH_KEY&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;...&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;And taking into account the &lt;A title="DbxClientV2 constructor" href="https://github.com/dropbox/dropbox-sdk-java/blob/master/src/main/java/com/dropbox/core/v2/DbxClientV2.java#L35" target="_blank" rel="noopener"&gt;used constructor&lt;/A&gt;, it seems to be access token. 🤦🙋 Hope you understand what's wrong now. both access token and refresh token are strings, but they represent different things. From Java language point of view the construction is correct, but it's a logical error (refresh token is NOT valid access token)! You should use appropriate constructor, accepting refresh token, not something else. Or... as I mentioned before, don't cope into details, but use entire credentials object. The choice is yours. &lt;img class="lia-deferred-image lia-image-emoji" src="https://www.dropboxforum.com/html/@41457EF40051AFF130FDBFE21B496926/emoticons/1f609.png" alt=":winking_face:" title=":winking_face:" /&gt; In any case/choice keep reading the documentation careful to avoid such errors.&lt;/P&gt;&lt;P&gt;Good luck.&lt;/P&gt;</description>
      <pubDate>Sun, 04 Sep 2022 14:54:59 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620302#M2862</guid>
      <dc:creator>Здравко</dc:creator>
      <dc:date>2022-09-04T14:54:59Z</dc:date>
    </item>
    <item>
      <title>Re: RefreshToken is always expired android java Api</title>
      <link>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620328#M2863</link>
      <description>Sorry but can you link the correct usage of refresh token in java ? Because i am using the refresh token as access token and you're right , the documentation does not include java auth and refresh token and the github java sample got removed so i am just trying and searching for old posts on the internet&lt;BR /&gt;&lt;BR /&gt;Thanks anyway</description>
      <pubDate>Sun, 04 Sep 2022 17:20:27 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620328#M2863</guid>
      <dc:creator>YousefElsayed</dc:creator>
      <dc:date>2022-09-04T17:20:27Z</dc:date>
    </item>
    <item>
      <title>Re: RefreshToken is always expired android java Api</title>
      <link>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620347#M2864</link>
      <description>&lt;P&gt;Hmm... The examples could be better structured (sometime they're even confusing).&lt;/P&gt;&lt;P&gt;Ok... as a walk through: You can get the credential info in the same way you have done already, but store it as whole like &lt;A href="https://github.com/dropbox/dropbox-sdk-java/blob/ad454a8391346141c8b64758446929e3e79aab0f/examples/authorize/src/main/java/com/dropbox/core/examples/authorize/Main.java#L102" target="_blank" rel="noopener"&gt;here&lt;/A&gt; (or just get the idea from there about stringification and it's not mandatory to do direct write into a file). You can see all available constructors following the link I posted in my previous post. Good choice could be &lt;A href="https://github.com/dropbox/dropbox-sdk-java/blob/ad454a8391346141c8b64758446929e3e79aab0f/src/main/java/com/dropbox/core/v2/DbxClientV2.java#L65" target="_blank" rel="noopener"&gt;this one&lt;/A&gt;. Different examples for destringification are spread across all examples but you can take a look &lt;A href="https://github.com/dropbox/dropbox-sdk-java/blob/master/examples/account-info/src/main/java/com/dropbox/core/examples/account_info/Main.java#L48" target="_blank" rel="noopener"&gt;here&lt;/A&gt; (for instance). Again, you can use any supported source of information, not mandatory direct read from a file. Possible options to read start from &lt;A href="https://github.com/dropbox/dropbox-sdk-java/blob/master/src/main/java/com/dropbox/core/json/JsonReader.java#L453" target="_blank" rel="noopener"&gt;here&lt;/A&gt; and possible options to write start &lt;A href="https://github.com/dropbox/dropbox-sdk-java/blob/ad454a8391346141c8b64758446929e3e79aab0f/src/main/java/com/dropbox/core/json/JsonWriter.java#L42" target="_blank" rel="noopener"&gt;here&lt;/A&gt;. I believe you can select whatever best match your application design and stick selected together. For some Android specific solutions (authentication through eventually installed Dropbox application) take a look on the &lt;A href="https://github.com/dropbox/dropbox-sdk-java/tree/master/examples/android" target="_blank" rel="noopener"&gt;corresponding example&lt;/A&gt;. &lt;img class="lia-deferred-image lia-image-emoji" src="https://www.dropboxforum.com/html/@41457EF40051AFF130FDBFE21B496926/emoticons/1f609.png" alt=":winking_face:" title=":winking_face:" /&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;</description>
      <pubDate>Sun, 04 Sep 2022 23:31:47 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620347#M2864</guid>
      <dc:creator>Здравко</dc:creator>
      <dc:date>2022-09-04T23:31:47Z</dc:date>
    </item>
    <item>
      <title>Re: RefreshToken is always expired android java Api</title>
      <link>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620431#M2867</link>
      <description>&lt;P&gt;Thanks for the help ! the links you attached are helpful !&lt;/P&gt;</description>
      <pubDate>Mon, 05 Sep 2022 12:36:19 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Discuss-Dropbox-Developer-API/RefreshToken-is-always-expired-android-java-Api/m-p/620431#M2867</guid>
      <dc:creator>YousefElsayed</dc:creator>
      <dc:date>2022-09-05T12:36:19Z</dc:date>
    </item>
  </channel>
</rss>

