You might see that the Dropbox Community team have been busy working on some major updates to the Community itself! So, here is some info on what’s changed, what’s staying the same and what you can expect from the Dropbox Community overall.

Forum Discussion

DarioO's avatar
DarioO
New member | Level 2
9 months ago

Using dropbox API from a scheduled Task: authenticating but NOT as a User

I need a job that moves 4 times a day files from a folder to dropbox and reading other files from another folder . Designin the architecture is not a problem. However I'm stuck with the API of dropbox. development done from mulesoft.

 

Authentication types - Developers - Dropbox 

 

I see two main authentication types:
1) Oauth => it requires user to manually log in each time from a web form: requires manual interaction and a web service

2) App authentication => nice basic authentication, easy peasy.... or not. Because https://api.dropboxapi.com/2/files/list_folder

returns 

{
    "error_summary": "path/unsupported_content_type/",
    "error": {
        ".tag": "path",
        "path": {
            ".tag": "unsupported_content_type"
        }
    }
}
 
and searching for errors the problem is I cannot use the "path" because app authentication do not allow that.
 
 
So is there any authentication method that allows me to setup a "fire and forget forever" scheduled job? I need to move files and display them, my app is already configured correctly.
 
I tried to use of official Mulesoft Dropbox User Connector... It works to a certain degree. From what I understand there must be an additional authentication method not documented, because the connector is able to list the files.. given only the basic credentials.. however I cannot use the official mulesoft dropbox connector because it miss the
 
2/files/list_folder/continue
 So basically I'm locked out of my task becase either:
1) there is not a authentication that works without user interaction that allows to access basic functionality (think it as a Backend to Backend requirment)
2) the piece of software that would allow such communication happen (using maybe a undocumented authentication feature?) has missing functionalities
 
AND the grant_type "client_credentials" is not working:
 
{
    "error": "The server has either erred or is incapable of performing the requested operation."
}
 
 
  • Здравко's avatar
    Здравко
    Legendary | Level 20

    DarioO wrote:

    ...
    1) Oauth => it requires user to manually log in each time from a web form: requires manual interaction and a web service

    ...

    Hi DarioO,

    You have a lot of misunderstandings how Dropbox API and OAuth work, but the above, that I underlined, is most important, I think.

    In general No - you don't need log in each time if you have unexpiring token - refresh token. Access token expires and most probably you're taking into account only that part. If you authorize your access as offline type (i.e. you receive refresh token in addition to access token), you can refresh your access token using the available refresh token without additional user interaction. An simplistic example can be seen here.

    Hope this helps.

About Dropbox API Support & Feedback

Node avatar for Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

5,882 PostsLatest Activity: 3 years 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!