We are aware of the issue with the badge emails resending to everyone, we apologise for the inconvenience - learn more here.

Forum Discussion

Omri1984's avatar
Omri1984
Explorer | Level 4
3 years ago

Support the old drobox and the new under same application

Hi guys,

my app is trying to support the old drobox and the new under then same client .

 

after getting the auth tokens we are creating a  

new DropboxTeamClient(request.AccessToken);

 

then when we want to call the new client we use this 

var account = await client.AsMember(request.AsMember).Users.GetCurrentAccountAsync();
var spaceclient = client.AsMember(request.AsMember).WithPathRoot(new PathRoot.Root(account.RootInfo.RootNamespaceId));

 

 

no you told me before that the refresh token for the .NET SDK is refreshing the toke automatically.

but after few hours i got an exception that my token is expired.

 

can you help me understand what do I need to do?

i will say that while i am using specific client i am using in during all the process ?

 

 

 

  • Greg-DB's avatar
    Greg-DB
    3 years ago

    Omri1984 Здравко is correct; the SDK can handle the refresh process for you automatically, but you need to supply the refresh token, and app key, and if not using PKCE, the app secret. In your code, you're only supplying an access token.

     

    You can find an example of getting and using a refresh token in the OauthBasic example (non-PKCE, meant for server-side apps) as well as in the OAuthPKCE example (PKCE, meant for client-side apps).

  • Здравко's avatar
    Здравко
    Legendary | Level 20

    Hi Omri1984,

    Yes, when refresh token is in use (as a client constructor argument), the client automatically refresh access token whenever needed. In your code no any refresh token can be seen. 🤔 (or I'm missing something) Just do what you are saying. 😉 Follow the your own "answer".

    Good luck.

    • Greg-DB's avatar
      Greg-DB
      Icon for Dropbox Staff rankDropbox Staff

      Omri1984 Здравко is correct; the SDK can handle the refresh process for you automatically, but you need to supply the refresh token, and app key, and if not using PKCE, the app secret. In your code, you're only supplying an access token.

       

      You can find an example of getting and using a refresh token in the OauthBasic example (non-PKCE, meant for server-side apps) as well as in the OAuthPKCE example (PKCE, meant for client-side apps).

    • Omri1984's avatar
      Omri1984
      Explorer | Level 4

      i am using the NET SDK soafter open a different ticket i asked if i will need to refresh the token and the answer i got is above,

       

      so i need to call the method anyway just in case the token should be refreshed?

       

       

       

      like this 

       

      new DropboxTeamClient(request.AccessToken);

       

      var account = await client.AsMember(request.AsMember).Users.GetCurrentAccountAsync();
      var spaceclient = client.AsMember(request.AsMember).WithPathRoot(new PathRoot.Root(account.RootInfo.RootNamespaceId));

      client.RefreshAccessToken(null);

       

       

      or need to call the refresh token if an AUTH exception is thrown or do I need to do it before every request?

      • Greg-DB's avatar
        Greg-DB
        Icon for Dropbox Staff rankDropbox Staff

        Omri1984 It looks like our comments just crossed. Please refer to my previous comment for information. If you configure that as described there, you do not need to call RefreshAccessToken yourself.

About Dropbox API Support & Feedback

Node avatar for Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

5,877 PostsLatest Activity: 12 months ago
325 Following

If 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!