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

Malagann's avatar
Malagann
Explorer | Level 3
6 years ago

The Cursor of a user

Hello again.

After some searching, I'm back with another question that mirrors this one (https://www.dropboxforum.com/t5/API-Support-Feedback/Webhook-to-get-the-latest-changes-for-each-user-in-the/td-p/223173)

My webhook works, I get the json (list_folder/delta). My post request tests work with the token, I manage to search, get the list_folder, etc... But I have yet to link both as I cannot manage to find the cursor of a user.

I've search your forum and doc but no luck so far. I've read the aforementioned link but it's missing (or I'm too thick to find it ?) the one info I need. From the ID of a user, how do you retrieve his cursor ? (I'm in C#/asp.not webform). 

I'm looking to use list_folder/continue to get the infos on the change (the one that send the webhook).

 

Thanks, Malagann.

 

  • Greg-DB's avatar
    Greg-DB
    6 years ago

    If the "entries" value is an empty list like you've shown here, it just means that there are no new entries to return for the cursor you supplied. (If the token or cursor were invalid, the API would respond with a specific error accordingly.)

    Note that if you go through the /2/files/list_folder results and save the cursor after the webhook is received, there may not be any further results.

    The basic flow typically looks like this:

    • the user connects to the app for the first time
    • the app starts listing the files and folders for the user using /2/files/list_folder and /2/files/list_folder/continue as necessary
    • the app stores the last returned cursor
    • the user leaves and some time passes
    • the user makes changes elsewhere
    • Dropbox sends the webhook notification for that user
    • the app recieves the webhook notification for that user and looks like up the last received cursor for that user
    • the app calls /2/files/list_folder/continue with that cursor to get the latest changes
  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Staff rankDropbox Staff

    The Dropbox API does not offer a way to directly determine which cursor is for which user ID, or vice versa, based on just the cursors or tokens themselves. 

    Instead, you need to store the asociation between the cursor and the user itself on your side. That is, when you receive a cursor and want to store it for later, key it by the account ID of the user. (You can do the same for the access token itself.) That way, when you receive the webhook notification with a particular account ID, you can look up the cursor and token for that particular user by looking up that account ID. (The exact data model you use is up to you of course, as that will depend on how your app works.)

    • Malagann's avatar
      Malagann
      Explorer | Level 3

      hello, thanks for taking the time !

      The thing is, hence my question and issues, I don't know the cursor, do I ? I get the json of the notification when the webhook is activated with the dbID of the account and the IDs of the users but, before storing it and keying it with the appropriate ID, where can I find the cursor ? 

       

      • Greg-DB's avatar
        Greg-DB
        Icon for Dropbox Staff rankDropbox Staff

        You should store the cursor for each user from your previous use of the API for each user. That might be from when the user first set up your app, or whenever they last used it, for instance. Specifically, it can be from the last time you called /2/files/list_folder or /2/files/list_folder/continue for that user. Each of those endpoints return a new cursor with the result.

About Dropbox API Support & Feedback

Node avatar for Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

5,889 PostsLatest Activity: 2 hours ago
327 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!