cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Back again with another edition of 'How we use Dropbox', so find out how Emma uses to-do lists to get it all done here!

Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Is it possible to pass all parameters to a v2 API request in URL parameters?

Is it possible to pass all parameters to a v2 API request in URL parameters?

Alexander K.28
Explorer | Level 4

   I have very particular situation when I cannot use request header at all and I'm basically need to pass all the parameters as URL parameters. It is not a problem for the v1 API. For example with this request I can easily upload a file

https://content.dropboxapi.com/1/files_put/auto{WorkingPathName}?access_token={AuthorizationToken}

   However it does not seem to be possible with v2 API. Specification says "These endpoints accept file content in the request body, so their arguments are instead passed as JSON in the Dropbox-API-Arg request header or arg URL parameter", So there seems to be hope it should work but it either does not accept parameters in URL or access_token parameters is not accepted.

   If it is actually possible could somebody give an example how to correctly compose a request for 'https://content.dropboxapi.com/2/files/upload'?

   I tried something like this and that did not work.

https://content.dropboxapi.com/2/files/upload?path={WorkingPathName}&access_token={AuthorizationToke...

 

5 Replies 5

Re: Is it possible to pass all parameters to a v2 API request in URL parameters?

Greg-DB
Dropboxer

Hi Alexander, yes, you can pass the arguments on the URL. You cited the right documentation, but your implementation isn't quite right. You should put all of the arguments as JSON in a URL parameter actually named "arg". Likewise, you need to use the "authorization" parameter to send up the access token.

To make the arg value, generate a JSON string of the parameters, encode as UTF-8, then use the “application/x-www-form-urlencoded” rules to encode the value.

Here's an example using curl to upload a local test.txt file to /test.txt in Dropbox, passing authorization and arg as URL parameters:

curl -X POST "https://content.dropboxapi.com/2/files/upload?authorization=Bearer%20ACCESS_TOKEN_HERE&arg=%7B%22path%22%3A%20%22%2Ftest.txt%22%7D" \
--header "Content-Type: application/octet-stream" \
--data-binary @test.txt

The Content-Type does need to be set correctly though. I don't know what your particular situation is, but hopefully that does get set for you, or you have a way to do so.

Re: Is it possible to pass all parameters to a v2 API request in URL parameters?

Fernando M.9
New member | Level 1
Please , how would you to perform the download: https://content.dropboxapi.com/2/files/download

Re: Is it possible to pass all parameters to a v2 API request in URL parameters?

Greg-DB
Dropboxer

Hi Fernando, downloading would look like:

curl "https://content.dropboxapi.com/2/files/download?authorization=Bearer%20ACCESS_TOKEN_HERE&arg=%7B%22path%22%3A%20%22%2Ftest.txt%22%7D"

Re: Is it possible to pass all parameters to a v2 API request in URL parameters?

incode4it
New member | Level 2

Why i'm getting this error ? "Error in call to API function "users/get_current_account": Invalid authorization value in URL parameter "authorization": "Bearer%20REDACTED_ACCESS_TOKEN".  Expecting "Bearer <oauth2-access-token>"." 

Re: Is it possible to pass all parameters to a v2 API request in URL parameters?

Greg-DB
Dropboxer

@incode4it That value looks right. Can you share your code, or the full/raw request and response? Just be sure to redact the access token itself.

 

By the way, I redacted your access token from your post, but for the sake of security, you should disable that access token since you posted it publicly. You can do so by revoking access to the app entirely, if the access token is for your account, here:

 

https://www.dropbox.com/account/security

 

Or, you can disable just this access token using the API:


v2: https://www.dropbox.com/developers/documentation/http/documentation#auth-token-revoke

 

Poll
We love to learn from the educators who use Dropbox. Whether you teach kids, teens, adults or a combination of all three, we want to know what apps and integrations you use with Dropbox to help with teaching. Which of the ones below is your favorite, or most used tool?
Who's talking

Top contributors to this post

  • User avatar
    Greg-DB Dropboxer
  • User avatar
    incode4it New member | Level 2
  • User avatar
    Fernando M.9 New member | Level 1
What do Dropbox user levels mean?
Need more support?