<?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: Preparing my App for long-lived tokens deprecation in Dropbox API Support &amp; Feedback</title>
    <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Re-Preparing-my-App-for-long-lived-tokens-deprecation/m-p/583759#M27189</link>
    <description>&lt;P&gt;Yes, as you found, Dropbox is phasing out the ability to create new long-lived access tokens. You can find &lt;A href="https://dropbox.tech/developers/migrating-app-permissions-and-access-tokens" rel="noreferrer" target="_blank"&gt;more information on this migration here&lt;/A&gt;.&lt;BR /&gt;&lt;BR /&gt;Apps can still get long-term access by requesting "offline" access though, in which case the app receives a "refresh token" that can be used to retrieve new short-lived access tokens as needed, without further manual user intervention. You can find more information in the &lt;A href="https://developers.dropbox.com/oauth-guide" rel="noreferrer" target="_blank"&gt;OAuth Guide&lt;/A&gt; and &lt;A href="https://www.dropbox.com/developers/documentation/http/documentation#authorization" rel="noreferrer" target="_blank"&gt;authorization documentation&lt;/A&gt;. Refresh tokens can be used to maintain long-term access though, and do not expire by themselves (though they can be revoked on demand, like long-lived access tokens).&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;For reference, while the creation of new long-lived access tokens is now deprecated, we don't currently have a plan to disable existing long-lived access tokens. (If that changes, we will of course announce that ahead of time.) That being the case, you can continue using existing long-lived access token(s) without interruption, if you have any. Also, note though that after the change you won't be able to create new long-lived access tokens.&lt;BR /&gt;&lt;BR /&gt;While the change began on September 30th 2021, we're releasing it gradually, so you may not have seen your app(s) affected until now. Once it applies to your app, it would apply regardless of the "Access token expiration" setting for your app, and that setting may no longer be available for your app.&lt;BR /&gt;&lt;BR /&gt;If you're using &lt;A href="https://github.com/dropbox/dropbox-sdk-dotnet" rel="noreferrer" target="_blank"&gt;the official Dropbox API v2 .NET SDK&lt;/A&gt;, you can find an example of getting and using a refresh token in &lt;A href="https://github.com/dropbox/dropbox-sdk-dotnet/blob/main/dropbox-sdk-dotnet/Examples/OauthBasic/Program.cs" rel="noreferrer" target="_blank"&gt;the OauthBasic example&lt;/A&gt; (non-PKCE, meant for server-side apps) as well as in &lt;A href="https://github.com/dropbox/dropbox-sdk-dotnet/blob/main/dropbox-sdk-dotnet/Examples/OAuthPKCE/Program.cs" rel="noreferrer" target="_blank"&gt;the OAuthPKCE example&lt;/A&gt; (PKCE, meant for client-side apps). The SDK will handle the refresh process for you automatically as long as you supply the credentials as shown in the examples. If something with that isn't work as expected though, please share the details, such as the code you're using, steps you're following, and error you're getting, and we'll take a look. Please don't share any access token, refresh token, or app secret though.&lt;/P&gt;</description>
    <pubDate>Tue, 15 Mar 2022 16:16:32 GMT</pubDate>
    <dc:creator>Greg-DB</dc:creator>
    <dc:date>2022-03-15T16:16:32Z</dc:date>
    <item>
      <title>Re: Preparing my App for long-lived tokens deprecation</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Re-Preparing-my-App-for-long-lived-tokens-deprecation/m-p/583646#M27186</link>
      <description>&lt;P&gt;Hi Greg&lt;/P&gt;
&lt;P&gt;Im using the long-live token for my simple Firmware-Updater app, but I have to switch the App from my development account to the company-account. The problem is that I can not get the long living access-token for the new App key anymore.&lt;/P&gt;
&lt;P&gt;My software (C#) uses simplest scenario: it connects with the dropbox-app and read the files, without user interaction. It is a single user app (credentials in the app). With long-living tokens, it worked like a charm, but now I'm facing problems I can not solve.&lt;BR /&gt;I have readed the OAuth2 documentation, and looked the C# examples (&lt;A href="https://github.com/dropbox/dropbox-sdk-dotnet/tree/master/dropbox-sdk-dotnet/Examples" target="_blank" rel="noopener"&gt;https://github.com/dropbox/dropbox-sdk-dotnet/tree/master/dropbox-sdk-dotnet/Examples&lt;/A&gt;), but can not follow them to connect to dropbox. Not only that those are very complicated, but there is&amp;nbsp; also an AccessToken and RefreshToken needed.&amp;nbsp;&lt;BR /&gt;Please help me.&lt;/P&gt;</description>
      <pubDate>Wed, 27 Apr 2022 12:42:59 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Re-Preparing-my-App-for-long-lived-tokens-deprecation/m-p/583646#M27186</guid>
      <dc:creator>Kruno</dc:creator>
      <dc:date>2022-04-27T12:42:59Z</dc:date>
    </item>
    <item>
      <title>Re: Preparing my App for long-lived tokens deprecation</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Re-Preparing-my-App-for-long-lived-tokens-deprecation/m-p/583759#M27189</link>
      <description>&lt;P&gt;Yes, as you found, Dropbox is phasing out the ability to create new long-lived access tokens. You can find &lt;A href="https://dropbox.tech/developers/migrating-app-permissions-and-access-tokens" rel="noreferrer" target="_blank"&gt;more information on this migration here&lt;/A&gt;.&lt;BR /&gt;&lt;BR /&gt;Apps can still get long-term access by requesting "offline" access though, in which case the app receives a "refresh token" that can be used to retrieve new short-lived access tokens as needed, without further manual user intervention. You can find more information in the &lt;A href="https://developers.dropbox.com/oauth-guide" rel="noreferrer" target="_blank"&gt;OAuth Guide&lt;/A&gt; and &lt;A href="https://www.dropbox.com/developers/documentation/http/documentation#authorization" rel="noreferrer" target="_blank"&gt;authorization documentation&lt;/A&gt;. Refresh tokens can be used to maintain long-term access though, and do not expire by themselves (though they can be revoked on demand, like long-lived access tokens).&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;For reference, while the creation of new long-lived access tokens is now deprecated, we don't currently have a plan to disable existing long-lived access tokens. (If that changes, we will of course announce that ahead of time.) That being the case, you can continue using existing long-lived access token(s) without interruption, if you have any. Also, note though that after the change you won't be able to create new long-lived access tokens.&lt;BR /&gt;&lt;BR /&gt;While the change began on September 30th 2021, we're releasing it gradually, so you may not have seen your app(s) affected until now. Once it applies to your app, it would apply regardless of the "Access token expiration" setting for your app, and that setting may no longer be available for your app.&lt;BR /&gt;&lt;BR /&gt;If you're using &lt;A href="https://github.com/dropbox/dropbox-sdk-dotnet" rel="noreferrer" target="_blank"&gt;the official Dropbox API v2 .NET SDK&lt;/A&gt;, you can find an example of getting and using a refresh token in &lt;A href="https://github.com/dropbox/dropbox-sdk-dotnet/blob/main/dropbox-sdk-dotnet/Examples/OauthBasic/Program.cs" rel="noreferrer" target="_blank"&gt;the OauthBasic example&lt;/A&gt; (non-PKCE, meant for server-side apps) as well as in &lt;A href="https://github.com/dropbox/dropbox-sdk-dotnet/blob/main/dropbox-sdk-dotnet/Examples/OAuthPKCE/Program.cs" rel="noreferrer" target="_blank"&gt;the OAuthPKCE example&lt;/A&gt; (PKCE, meant for client-side apps). The SDK will handle the refresh process for you automatically as long as you supply the credentials as shown in the examples. If something with that isn't work as expected though, please share the details, such as the code you're using, steps you're following, and error you're getting, and we'll take a look. Please don't share any access token, refresh token, or app secret though.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Mar 2022 16:16:32 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Re-Preparing-my-App-for-long-lived-tokens-deprecation/m-p/583759#M27189</guid>
      <dc:creator>Greg-DB</dc:creator>
      <dc:date>2022-03-15T16:16:32Z</dc:date>
    </item>
    <item>
      <title>Re: Preparing my App for long-lived tokens deprecation</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Re-Preparing-my-App-for-long-lived-tokens-deprecation/m-p/584978#M27239</link>
      <description>&lt;P&gt;I finally managed to connect with short-lived AccessToken properly with Oauth.&lt;/P&gt;&lt;P&gt;How-To:&lt;/P&gt;&lt;P&gt;1. First, You have to get a RefrehToken.&amp;nbsp; AccessToken is accessible on the AppConsole, but DropBox does not expose the RefreshToken in the Web-Interface.&lt;BR /&gt;&amp;nbsp; Download the API-project&amp;nbsp;&lt;A href="https://github.com/dropbox/dropbox-sdk-dotnet" target="_blank"&gt;https://github.com/dropbox/dropbox-sdk-dotnet&lt;/A&gt;&amp;nbsp;and open the Solution.&lt;BR /&gt;&amp;nbsp; Set the proper ApiKey and ApiSecret in the OauthTest/Program.cs:&lt;BR /&gt;&amp;nbsp; &amp;nbsp;private const string ApiKey = "l430rbqrzl18xxx";&lt;BR /&gt;&amp;nbsp; &amp;nbsp;private const string ApiSecret = "wo1yvz4xopvuxxx";&lt;BR /&gt;&amp;nbsp; In the AppConsole add the&amp;nbsp;Redirect-Uri:&amp;nbsp; "&lt;A href="http://127.0.0.1:52475/authorize" target="_blank"&gt;http://127.0.0.1:52475/authorize&lt;/A&gt;" to your App.&lt;BR /&gt;&amp;nbsp; Start the OauthTest, say Yes to reset data question, let the app add itself to the db-App. If everything goes well, You will get the RefrehToken printed. Copy the RefreshToken and the AccessToken from the console and add it into your class.&lt;/P&gt;&lt;P&gt;2. In your project create DropboxClient instance with:&lt;BR /&gt;&amp;nbsp; &amp;nbsp;var config=new DropboxClientConfig();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;dBoxClient= new DropboxClient(accessToken, refreshToken, ApiKey, ApiSecret, config);&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Accessing the files is like in the Tutorial: &lt;A href="https://www.dropbox.com/developers/documentation/dotnet#tutorial" target="_self"&gt;https://www.dropbox.com/developers/documentation/dotnet#tutorial&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Mar 2022 11:45:53 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Re-Preparing-my-App-for-long-lived-tokens-deprecation/m-p/584978#M27239</guid>
      <dc:creator>Kruno</dc:creator>
      <dc:date>2022-03-21T11:45:53Z</dc:date>
    </item>
  </channel>
</rss>

