We Want to Hear From You! What Do You Want to See on the Community? Tell us here!

Forum Discussion

Coder's avatar
Coder
Explorer | Level 4
9 years ago

Dropbox requests via a server

We need users to login to our system only and access one dropbox account only. In other words many users access the same dropbox account. That account is a company account with shared readonly documents. We don't want the users access the dropbox account, so the server only has the credentials to access that only dropbox account.

5 Replies

  • axew3's avatar
    axew3
    Collaborator | Level 8
    9 years ago
    what system? it is a web site or desktop app?
    ... the question isn't very clear to me ...
  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    9 years ago
    The API was designed with the intention that each user would link their own Dropbox account, in order to interact with their own files. However, it is technically possible to connect to just one account. The SDKs don't offer explicit support for it and we don't recommend doing so, for various technical and security reasons.

    However if you did want to go this route, instead of kicking off the authorization flow, you would manually use an existing access token for your account and app. (Just be careful not to revoke it, e.g. via https://www.dropbox.com/account/security .)
  • Coder's avatar
    Coder
    Explorer | Level 4
    9 years ago

    Hello,

     

    But it's not possible to call in the .NET code a think like:

     

    var _auth = getAuth("dropBoxUser","UserPassword")

     

    without having a popup asking for credentials?

     

    Thanks.

  • Coder's avatar
    Coder
    Explorer | Level 4
    9 years ago

    I'm trying to do this:

     

    curl -X POST https://content.dropboxapi.com/2/sharing/get_shared_link_file --header "Authorization: Bearer i8QD8..." --header "Dropbox-API-Arg: {\"url\": \"https://www.dropbox.com/s/g1mijjb5deejf6h/Test.txt?dl=0\"}"

     

    that works. Doing it In .NET:

     

    string _url = "https://content.dropboxapi.com/2/sharing/get_shared_link_file"; 
    client.Headers.Add("Authorization", "Bearer i8Q......");
    string _dropBoxParams = "{\"url\": \"https://www.dropbox.com/s/g1mijjb5deejf6h/Test.txt?dl=0\"}";
    client.Headers.Add("Dropbox-API-Arg", _dropBoxParams); 
    byte[] _responsebytes = client.UploadValues(_url, "POST", _postParameter);

     

    but it gives:  The remote server returned an error: (400) Bad Request. 

    What is the problem?

     

     

  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    9 years ago

    If you're going to use a single account like this, you should embed the access token like you do in your most recent post, not via username/password.

     

    If you're doing this in .NET, we highly recommend using the official API v2 .NET SDK. That would do much of the work for you. If you use that, to make this call you would use the GetSharedLinkFileAsync method.

     

    Otherwise, if you do want to make the call directly, without using the SDK, print the body of the response. That will contain more error information indicating what the issue is.

About Dropbox API Support & Feedback

Node avatar for Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.6,037 PostsLatest Activity: 8 hours ago
412 Following

The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.

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!