cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Want to learn some quick and useful tips to make your day easier? Check out how Calvin uses Replay to get feedback from other teams at Dropbox 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: 

Terrible experience with Paper API

Terrible experience with Paper API

Ruslan G.1
Explorer | Level 4

Hell, 

I am a long time Dropbox paid user and I`ve decided to convert propietary notes to Dropbox Paper documents on my phone.

Unable to find import function I created simple program to do just that.

Here is my experience with it:

  • API slow
  • No way to filter by parent_folder_id when downloading/getting docs
  • No ID of document?!
  • On creating document, API sometimes throws 500 Internal Server Error but still creates doc
  • No declaration of API limits (requests/second)
  • No way to set doc metadata (id, etc, custom)
  • No way to set title but somehow it is automatically generated?
  • Downloading slow, list fetching (pagination) slow
  • After deleting docs from UI they are still available on API

Question

Given the state of API, is Paper is still a PoC project and might go out of production soon or should rely on it being improved in future?

5 Replies 5

Greg-DB
Dropbox Staff

Thanks for the detailed feedback! We appreciate you taking the time to share your experience with the API. I'm sending these specific pieces of feedback and feature requests along to the team.

To address a few points in particular:

  • "No ID of document?!": I'm not sure I understand what you're referring to. The Paper API does expose IDs for Paper document, e.g., as returned by /2/paper/docs/list.
  • "On creating document, API sometimes throws 500 Internal Server Error but still creates doc": That sounds like a bug on our side. Please share the steps/code to reproduce this and some sample 'X-Dropbox-Request-Id' response header values for this error if you'd like us to investigate.
  • "No declaration of API limits (requests/second)":  The Dropbox API does have a general rate limiting system, but we don't have any specific numbers documented. We prefer API apps to be written to dynamically handle rate limit exceptions instead of hard-coding specific limits. That is, in any case that you get a 429 or 503 the best practice is to retry the request, respecting the Retry-After header if given in the response, or using an exponential back-off, if not.
  • "No way to set title but somehow it is automatically generated?": The Paper doc title is currently taken from the first line of the supplied data.
  • "After deleting docs from UI they are still available on API": Thanks for the note. I can reproduce this and I'll bring it up with the team.

And in response to your question, I don't have any news to share regarding the Paper API in general. Dropbox will announce any significant changes if/when there is something to share though.

Ruslan G.1
Explorer | Level 4

Hello Greg, thanks for reply!

> API sometimes throws 500 Internal Server Error but still creates doc

Example ID with 500 Internal Server Error.

"x-dropbox-request-id":["f25fd3b330d2e7c768f53df00be859bf"]

Example code: https://pastebin.com/i3kEYRfU

The amount of documents I upload is ~100 and I sometimes get error in the middle of upload, however documents still created.

> No ID of document

Yes there is an API but Dropbox.paperDocsDownload() return result PaperDocExportResult which does not contain document ID.

Is there any way to fetch all metadata of documents without content download? I don`t need a document, just a title and an ID.

Greg-DB
Dropbox Staff
  • "API sometimes throws 500 Internal Server Error but still creates doc": Thanks! That's helpful. We'll look into it. 
  • "No ID of document": I see, thanks. For that method, the doc ID is a required input parameter, so I imagine it wasn't expected that the output would necessarily need the doc ID, since the client already knew it. So to clarify, is the issue that this makes it harder to track the result, especially when operating on multiple documents in an asynchronous fashion? Let me know if I have that right or not and I'll pass this along as a request with that context.
  • "Is there any way to fetch all metadata of documents without content download?": No unfortunately there isn't a way to request the metadata only, but I'll pass this along as a feature request as well. I can't promise if or when any of these might be implemented though. 

Ruslan G.1
Explorer | Level 4

Thanks.

As a resolution there is 2 serious issues I would consider to prioritize.

1. Deleted documents visible through API. This is a showstopper as it does not give ability to fix import mistakes.

2. No way to filter documents by a folder when fetching a list of documents. And there is no folder_id in document metadata. Ugh. This makes folders invisible to API (except when creating).

 

Greg-DB
Dropbox Staff

Thanks!

For the folder information, there is /2/paper/docs/get_folder_info, but that does require one call per Paper doc, so I can see that being inefficient for some use cases. I've sent this along as a feature request for a better solution.

Need more support?
Who's talking

Top contributors to this post

  • User avatar
    Greg-DB Dropbox Staff
  • User avatar
    Ruslan G.1 Explorer | Level 4
What do Dropbox user levels mean?