Announcements
Can you spare 5 minutes to help us improve our online support experience? Get involved!

Request body could not decode input as JSON

Helpful | Level 5

Hello!

The follow code (qt c++)

QUrl url;
    url.setScheme("https");
    url.setHost("api.dropboxapi.com");
    url.setPath("/2/file_requests/list_v2");

    QUrlQuery params;
    params.addQueryItem("limit", "1000");
    QByteArray qb_params;
    qb_params.append(params.toString(QUrl::FullyEncoded));

    if(checkUrl(url)){
        QNetworkRequest request;    // 
        request.setUrl(url);

        QByteArray auth;
        auth.append(OAuth_);
        auth.prepend("Bearer ");
        request.setRawHeader("Authorization", auth);
        request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");

        manager->post(request, qb_params);      // 
    }

got an error:

"Error transferring https://api.dropboxapi.com/2/file_requests/list_v2 - server replied: Bad Request"
"Error in call to API function \"file_requests/list:2\": request body: could not decode input as JSON"

What's wrong?

1 Accepted solution

Accepted Solutions

Re: Request body could not decode input as JSON

Star Collaborator | Level 18

Hi @AndreyStrukov,

Can you clarify, what you really ask? thinking face In the error message is clearly stated: "could not decode input as JSON"!

If you take a look on list_v2 documentation, can be seen that parameters have to be in JSON format. Where you encode your parameter ("limit") in JSON? Instead, you use 'QUrlQuery' class, which functionality mimics classic HTML form encoding (not JSON)! winking face

Hope this gives some direction.

Reply
Loading...
2 Replies

Re: Request body could not decode input as JSON

Star Collaborator | Level 18

Hi @AndreyStrukov,

Can you clarify, what you really ask? thinking face In the error message is clearly stated: "could not decode input as JSON"!

If you take a look on list_v2 documentation, can be seen that parameters have to be in JSON format. Where you encode your parameter ("limit") in JSON? Instead, you use 'QUrlQuery' class, which functionality mimics classic HTML form encoding (not JSON)! winking face

Hope this gives some direction.

Reply
Loading...

Re: Request body could not decode input as JSON

Helpful | Level 5

Thank you, got it!

I've fixed it and now it works.

Reply
Loading...
API Support

Have a question? Our Dropbox Community is here to help you find an answer!
You won’t have to wait too long for a reply, but why not learn more about the Community while you’re here.

Not the right discussion for you? Find out what else our Community has to say about API Support.

Or, search our Help Center for even more.

Who's talking
Top contributors to this post