We are aware of the issue with the badge emails resending to everyone, we apologise for the inconvenience - learn more here.

Forum Discussion

Babel3d's avatar
Babel3d
New member | Level 2
7 years ago

Webhook notification .NET


Hello,

I am working on a .NET app, which is integrated with the dropbox api. I managed to upload, list, delete files without any problems. Now, I am trying to use webhooks for my app. I have a dedicated dropbox account which linked to my app and this account has "full access" to my dropbox storage.
We want Dropbox to notify my app when files are added or deleted. After going through documentation [https://www.dropbox.com/developers/reference/webhooks#tutorial], I am managed to get webhook trigger on file add/delete of a file in my storage using ListFolderContinue API. So far so good.

 

Here is mode code snippet

//---------------------------------
var cursor = getPreviousCursor( user);  // to get previously stored cursor
using (var client = new DropboxClient(accessToken))
{
 ListFolderResult list = await client.Files.ListFolderContinueAsync(cursor);
 bool bHasMore = true;
    while (bHasMore)
    {
        foreach (var entry in list.Entries)
        {
            if (entry.IsDeleted || entry.IsFolder)
                continue;
            string fname = entry.Name;
        }
        cursor = list.Cursor;
        bHasMore = list.HasMore;
        UpdateCursor(user, cursor); // to store latest cursor
    }
}
//--------------------------------

 

 

Now here comes the problem that I am facing.
Above code works only if I modify files in root folder ("/") folder of the dropbox storage. If I modify a file in a folder e.g. "/Sample/Project/test.txt", I receive webhook trigger but "ListFolderResult list" is always empty.

To sumarize I am not getting information of modified files in the folders except root folder of dropbox storage.

Please help.

  • pcuycs's avatar
    pcuycs
    Explorer | Level 3

    hi Babel3d , Greg-DB 
    I'm working with dropbox webhook using asp.net api
    I was created 2 uri, one for verify, another for received response message from dropbox and both are successfully.
    the response message content
    {"list_folder": {"accounts": ["dbid:yyyyyyyyyyyyy"]}, "delta": {"users": [xxxxxxxxxxxx]}}

    But with above message
    1. I don't know what are type of notifications raised? Add, Modified, Moved, Deleted -> at files & folders level ?
    2. How do i know what is the file name and who has changed?
    3. what does [xxxxxxxxxxxx] mean?

    thanks for help!

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

      pcuycs I recommend reviewing the webhooks tutorial and documentation (be sure to switch to the "documentation" tab for that) as it covers this in detail: 

      https://www.dropbox.com/developers/reference/webhooks 

      To answer your specific questions though:

      1. Webhook notifications are sent for any kind of file/folder changes.
      2. The notifications themselves don't indicate what changed, only that something changed. You need to call the list_folder endpoints to determine what changed. 
      3. The "xxxxxxxxxxxx" in your sample is the old API v1 style of user IDs. You do not need to use it. It conveys the same information as the new API v2 style (e.g., "dbid:yyyyyyyyyyyyy" in your sample) which you should use.

About Dropbox API Support & Feedback

Node avatar for Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

5,877 PostsLatest Activity: 12 months ago
325 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!