cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Tell us what you want to see on the Community here!
Close

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: 

Re: A shared folder where the non-owner changes content, causes cursor loop with wrong data

Highlighted

A shared folder where the non-owner changes content, causes cursor loop with wrong data

Helpful | Level 6

FALSE POSITIVE REPORT -- this turned out to be a false positive with an overflow of the cursor length on our side causing repeat calls. Combined with the unexpected "delete" folder that occurs when you share a folder, we thought this was a bug, but soon found the root cause.

 

SCENARIO:

1. User Create a folder.

2. User Share the folder with a 3rd party.

3. 3rd party adds a shared folder to account.

4. 3rd party changes the content in a folder, such as adding a folder.

5. Webhook is generated on Users account.

PROBLEM:

The cursor loops with the same data over and over. The data is also incorrect, its the path of the shared folder, and not the path of the content changed by the user.

EXAMPLE:

Folder example: /MyFolders/ShareFolder is shared with 3rd party User.

3rd party user adds a folder: /MyFolders/ShareFolder/3rdPartyCreateFolder

Webhook received by app of the original user, and we call: https://api.dropboxapi.com/2/files/list_folder/continue

{"entries": [{".tag": "deleted", "name": "sharefolder", "path_lower": "/myfolders/sharefolder", "path_display": "/MyFolders/ShareFolder"}, {".tag": "folder", "name": "sharefolder", "path_lower": "/myfolders/sharefolder", "path_display": "/MyFolders/ShareFolder", "id": "id:<id>", "shared_folder_id": "<share id>", "sharing_info": {"read_only": false, "shared_folder_id": "<share id>", "traverse_only": false, "no_access": false}}], "cursor": "<cursor>", "has_more": true}

ODDITIES:

We never get the notice about "3rdPartyCreateFolder" being created. 

The webhook says it "has_more", so we keep calling, (different cursors) but its always the same result, for 10 or 20 times in a row.

The webhook itself says the folder was 1) deleted, and then 2) changed, when in reality it wasn't changed at all or deleted.

CONCLUSION:

This issue seems to be specifically related to webhook changes on shared folders being systemically broken. Please resolve this as soon as possible.

1 Accepted Solution

Accepted Solutions
Highlighted

Re: A shared folder where the non-owner changes content, causes cursor loop with wrong data

Helpful | Level 6

Hi Greg,

I have also been further investigating this. I believe something the problem is when we got the delete folder our storage of the cursor broke. This caused us to get a new cursor every time but not store it properly (overflow due to an unexpectedly lengthy cursory). This is what produced the symptoms. Sorry for the false report!

This should be cleared as a false positive, however, thank you for clarifying the unexpected delete folder call we got stuck on, and for the quick response!

View solution in original post

3 Replies 3
Highlighted

Re: A shared folder where the non-owner changes content, causes cursor loop with wrong data

Helpful | Level 6

This bug is worse than I previously thought. Once a folder is shared and added to a 3rd party dropbox, even the owners' changes exhibit the same response as above. Specifically, the shared folder changes when nothing was changed, and the has-more loop.

I unadded it from the 3rd party dropbox, the same issue.

We even tried unsharing that folder. In all cases, the webhooks are the same as above, any changes result in that looping webhook.

We tried another folder outside of that folder, totally unrelated. The cursor is still stuck with those messages.

Updated Conclusion:

Every cursor request always returns those two changes and says it "has_more":true no matter what we do.

Highlighted

Re: A shared folder where the non-owner changes content, causes cursor loop with wrong data

Dropboxer

Thanks for the report! I just tried reproducing this using the steps you described though, and it's working properly for me. 

Here's the code and output for each of the calls I tried, for reference:

# user A:
curl -X POST https://api.dropboxapi.com/2/files/list_folder/get_latest_cursor \
    --header "Authorization: Bearer <USER A ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"path\": \"\",\"recursive\": true}"

# {
#   "cursor": "AAFtK3SlwJQEVS58oxqGQTg-HhT_3BPO8S2U8rLrGk4ZJgTFNwHsg_o1cI0gOaaMgTRAoSOKG9Gaol6mo2kfTaoHoPM9Pt1mRJeasvplwOhU9hus15etRG7QT1EXE5Tq9J3xTXDubB21-dNSwbxIPNC2ETnBpHJU4wg29bJQi0DXUUCwz9soVnq9L30etEXf3G3o3T7B9_d1nOm7BeMg7SjRgMd3Okdr-xLWWtpsyIGB6OIeaLEScLp2hT9tpQRlTy5TVnvztKcpDLqw-QmkgnEDCxXpmBnQy3-2JbCrTOIc72j0HSuD8zSAVrqt7qr-M-FPFzsU2n5TOIhYfp3DOSeSlL66ZzjHUHCdmEVddzpFrFQgguBBgo5Mtt5as3M2hRgCLFJmO_3KZ9sVTumNJFLZY8_0BjaN6f7qTgUPkJRQAQ7PVVicci7S7RtPjwrmgMkCTN_t-CaSheFVKUBUKBpyzTGIm6zQFFudmODuF-HaJ4nKAlwcl3e4o-eG0C68w7d5TWGMY02cUB57rTRYTDb7Q8xUzZgf4fFLV7bJNk_lO2c6TwdVaUWLYeJuKno-3Qxugiy8n4--8QcletzCEwELn6ghyuPpEtQ9XXGBG86NghpkO-0R8tBrVonXhU9YDPElVm-dL1BE6B5N2U2yPJx2qaRiyBlAr5QESHU2qO2DxLAr5Ny6FLvlHyWMfrLPrB05CdIoNy3cZQLwrZjPD19RuJIouvqzAvLHVYSWL8-fqXRSmXtodd956K0G5s15XWaB-U4Tv7xB69w9CWicNI2Crb7Dc1qqyjZmYqo8fMsuNqk5LQ8fByxd2VTDR4zwzuGACVj51M9u74T96WGlP1xdoj007X4r4Gd3U0B0dOGDFaFwpnQz7NSH6iZKMcxYtCVAloYtSS_PA2OJIeI4bnwWxWAlQ8vtXRdCzGVYE6Dzv-MIUa-VoghJF1ihivrUsCXv1f4BFLabIJkZNWx7zoMLGzBYkOrMFBS_TPlO-fhSmGNisa0w4JAOOuk2l4rQn6JsQxry6EpPoy2aB2Z3NBr72zovnhTzPJ0qewmN51EOS5wGXKX-HWrOnDD8vhW8nTbQL2SjIA0xGe38xwX0RLkq8pBKvNIWRpv4BmwL13RAK2H6q0HHn1ahqdfYcaKA_7d6p3Lh5YUuTrd9s8pCt6-X8eR9tQ2Nmb1TeysnyD_c4vK5w-qWwk8z6-8WlCwUkC7zc7bRZGWcaqT17VqJR9fLQU883AO1IZXKND_WK2vAYBrgx6MoHyjfBqnMX_9QjVBfC9-73OvVf6e0BPFt86RkeYoahrBKBWxS_jQO3CU0Kfpzx0oQzjIEb2w5CO1Me_qWVmyerzJztN_ri64NaIB-bdWAui8fV7SlG27qBlPvfg"
# }

curl -X POST https://api.dropboxapi.com/2/files/create_folder_v2 \
    --header "Authorization: Bearer <USER A ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"path\": \"/test_377315\"}"

# {
#   "metadata": {
#     "name": "test_377315",
#     "path_lower": "/test_377315",
#     "path_display": "/test_377315",
#     "id": "id:25N5ksooX-sAAAAAAAODtw"
#   }
# }

curl -X POST https://api.dropboxapi.com/2/sharing/share_folder \
    --header "Authorization: Bearer <USER A ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"path\": \"/test_377315\"}"

# {
#   ".tag": "complete",
#   "access_type": {
#     ".tag": "owner"
#   },
#   "is_inside_team_folder": false,
#   "is_team_folder": false,
#   "owner_team": {
#     "id": "dbtid:AAALfOJvW_VA8-yeLzHQ5Pug2GR15Z4t8KI",
#     "name": "TEST API Tester Team"
#   },
#   "path_lower": "/test_377315",
#   "parent_folder_name": "",
#   "name": "test_377315",
#   "policy": {
#     "member_policy": {
#       ".tag": "anyone"
#     },
#     "resolved_member_policy": {
#       ".tag": "anyone"
#     },
#     "acl_update_policy": {
#       ".tag": "editors"
#     },
#     "shared_link_policy": {
#       ".tag": "anyone"
#     },
#     "viewer_info_policy": {
#       ".tag": "enabled"
#     }
#   },
#   "preview_url": "https://www.dropbox.com/scl/fo/6d8uprpum4hyb245mqxtp/AAA9RizsOUZYH6ijfW-5upJda?dl=0",
#   "shared_folder_id": "6607843792",
#   "time_invited": "2019-11-08T15:49:28Z",
#   "access_inheritance": {
#     ".tag": "inherit"
#   }
# }

curl -X POST https://api.dropboxapi.com/2/sharing/add_folder_member \
    --header "Authorization: Bearer <USER A ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"shared_folder_id\": \"6607843792\",\"members\": [{\"member\": {\".tag\": \"email\",\"email\": \"<USER B EMAIL ADDRESS>\"}, \"access_level\": \"editor\"}]}"

# null


# user B:
curl -X POST https://api.dropboxapi.com/2/sharing/mount_folder \
    --header "Authorization: Bearer <USER B ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"shared_folder_id\": \"6607843792\"}"

# {
#   "access_type": {
#     ".tag": "editor"
#   },
#   "is_inside_team_folder": false,
#   "is_team_folder": false,
#   "owner_team": {
#     "id": "dbtid:AAALfOJvW_VA8-yeLzHQ5Pug2GR15Z4t8KI",
#     "name": "TEST API Tester Team"
#   },
#   "path_lower": "/test_377315",
#   "parent_folder_name": "db test",
#   "name": "test_377315",
#   "policy": {
#     "member_policy": {
#       ".tag": "anyone"
#     },
#     "resolved_member_policy": {
#       ".tag": "anyone"
#     },
#     "acl_update_policy": {
#       ".tag": "editors"
#     },
#     "shared_link_policy": {
#       ".tag": "anyone"
#     },
#     "viewer_info_policy": {
#       ".tag": "enabled"
#     }
#   },
#   "preview_url": "https://www.dropbox.com/scl/fo/6d8uprpum4hyb245mqxtp/AAA9RizsOUZYH6ijfW-5upJda?dl=0",
#   "shared_folder_id": "6607843792",
#   "time_invited": "2019-11-08T15:50:50Z",
#   "access_inheritance": {
#     ".tag": "inherit"
#   }
# }

curl -X POST https://api.dropboxapi.com/2/files/create_folder_v2 \
    --header "Authorization: Bearer <USER B ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"path\": \"/test_377315/test_377315_subfolder\"}"

# {
#   "metadata": {
#     "name": "test_377315_subfolder",
#     "path_lower": "/test_377315/test_377315_subfolder",
#     "path_display": "/test_377315/test_377315_subfolder",
#     "parent_shared_folder_id": "6607843792",
#     "id": "id:25N5ksooX-sAAAAAAAODzw",
#     "sharing_info": {
#       "read_only": false,
#       "parent_shared_folder_id": "6607843792",
#       "traverse_only": false,
#       "no_access": false
#     }
#   }
# }


# user A:
curl -X POST https://api.dropboxapi.com/2/files/list_folder/continue \
    --header "Authorization: Bearer <USER A ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"cursor\": \"AAFtK3SlwJQEVS58oxqGQTg-HhT_3BPO8S2U8rLrGk4ZJgTFNwHsg_o1cI0gOaaMgTRAoSOKG9Gaol6mo2kfTaoHoPM9Pt1mRJeasvplwOhU9hus15etRG7QT1EXE5Tq9J3xTXDubB21-dNSwbxIPNC2ETnBpHJU4wg29bJQi0DXUUCwz9soVnq9L30etEXf3G3o3T7B9_d1nOm7BeMg7SjRgMd3Okdr-xLWWtpsyIGB6OIeaLEScLp2hT9tpQRlTy5TVnvztKcpDLqw-QmkgnEDCxXpmBnQy3-2JbCrTOIc72j0HSuD8zSAVrqt7qr-M-FPFzsU2n5TOIhYfp3DOSeSlL66ZzjHUHCdmEVddzpFrFQgguBBgo5Mtt5as3M2hRgCLFJmO_3KZ9sVTumNJFLZY8_0BjaN6f7qTgUPkJRQAQ7PVVicci7S7RtPjwrmgMkCTN_t-CaSheFVKUBUKBpyzTGIm6zQFFudmODuF-HaJ4nKAlwcl3e4o-eG0C68w7d5TWGMY02cUB57rTRYTDb7Q8xUzZgf4fFLV7bJNk_lO2c6TwdVaUWLYeJuKno-3Qxugiy8n4--8QcletzCEwELn6ghyuPpEtQ9XXGBG86NghpkO-0R8tBrVonXhU9YDPElVm-dL1BE6B5N2U2yPJx2qaRiyBlAr5QESHU2qO2DxLAr5Ny6FLvlHyWMfrLPrB05CdIoNy3cZQLwrZjPD19RuJIouvqzAvLHVYSWL8-fqXRSmXtodd956K0G5s15XWaB-U4Tv7xB69w9CWicNI2Crb7Dc1qqyjZmYqo8fMsuNqk5LQ8fByxd2VTDR4zwzuGACVj51M9u74T96WGlP1xdoj007X4r4Gd3U0B0dOGDFaFwpnQz7NSH6iZKMcxYtCVAloYtSS_PA2OJIeI4bnwWxWAlQ8vtXRdCzGVYE6Dzv-MIUa-VoghJF1ihivrUsCXv1f4BFLabIJkZNWx7zoMLGzBYkOrMFBS_TPlO-fhSmGNisa0w4JAOOuk2l4rQn6JsQxry6EpPoy2aB2Z3NBr72zovnhTzPJ0qewmN51EOS5wGXKX-HWrOnDD8vhW8nTbQL2SjIA0xGe38xwX0RLkq8pBKvNIWRpv4BmwL13RAK2H6q0HHn1ahqdfYcaKA_7d6p3Lh5YUuTrd9s8pCt6-X8eR9tQ2Nmb1TeysnyD_c4vK5w-qWwk8z6-8WlCwUkC7zc7bRZGWcaqT17VqJR9fLQU883AO1IZXKND_WK2vAYBrgx6MoHyjfBqnMX_9QjVBfC9-73OvVf6e0BPFt86RkeYoahrBKBWxS_jQO3CU0Kfpzx0oQzjIEb2w5CO1Me_qWVmyerzJztN_ri64NaIB-bdWAui8fV7SlG27qBlPvfg\"}"

# {
#   "entries": [
#     {
#       ".tag": "deleted",
#       "name": "test_377315",
#       "path_lower": "/test_377315",
#       "path_display": "/test_377315"
#     },
#     {
#       ".tag": "folder",
#       "name": "test_377315",
#       "path_lower": "/test_377315",
#       "path_display": "/test_377315",
#       "id": "id:25N5ksooX-sAAAAAAAODtw",
#       "shared_folder_id": "6607843792",
#       "sharing_info": {
#         "read_only": false,
#         "shared_folder_id": "6607843792",
#         "traverse_only": false,
#         "no_access": false
#       }
#     }
#   ],
#   "cursor": "AAFrIRZh7nzWCcC6FBFM2NSt_CiBcSXEWpN_kOSXizLxOXJM7Q1JE6WYaZoV7oDIzvbE7xzEdz4eKQWx7b6UwgCjGCqZOxKGMCpErCvtLeDq29D4lM9bYQlJOeXRll4d9LFid4lo0zPiD65QWKO67gYSW8v-PELeIzrfdHEeJEgC2lIKA9owbaL1rgZec7btP0bRBrWHkHLCToNCqA_FIR3lFX6wwsOQExGELI3crD4sJZdaHqqJbLFcCM8MweyEuB8A8fO_MVEMs0Ag-RenNkdtGgxr55QMDZyjYh5oB3pQNXVTzx5Kxa7gfhRJNhP_hUhJhBSRfvem9xYHpvfw0xZaRtZMO05_xQ7_yNtAA06kv1Wd3ymArMDzzP_423NxBsglBjHpnTjirE090N-f5wOlyonR2GDN9NyQgZsdXUN9DGq_-OYwXYaYXKK_xUxGp6GOj3Cw5p8Jc6j_5VuBGEqP_jRQoMEV-kJ19HdX5JU6vldcR_yaqCIzqh9qks2UBLJ9wPP5zycpVdfbpfi9QfwZDYueImKQ4jpHyW6IRyQNTnDFxn-7-7XmNA7eZN50tyyqC0Ws1JTcPb184dRndYEVZwIE4FY1nniShtNwmWYcrsP8x86O4YMnH4MLsKNz6A8glaM191CQ9oq9vfZTwIozYzg7iLmXenluYlwfyIpEKVJw9cnAZEYOFhwl3X8Rvf_wLPC1i8qP6ltJEJg0uCTJWaG2xJgHj3j6qRFfQO8tI4zihsovjyxtjGbwy6VHHsTJmCvbb6HtrflqmbmgZ8HtqUalHEUhz1pUWeurF_JKfazOfD8RYwCfGCKXCiyr_TvhnzOLaW47UaDeU07w0sztWWS8H0zYPdT96xGLJwxu5v1gBr2nNnwtm9OY5Gm4OV_f82fhV3rrlT7tMusH8NaVvOt_M5RrQY3_xlq8wLvR73ildo-6YthgCarb_0JonhCHvMn4Ay_hbQfTkWYa0RIS2kjB4qxNDEmanzDhQPTvrgXrcjv-vsWVLvzZ0KpqCLzh4XxOeqLg7QSXleTnbsiUkYGMZuWz_nIkgHBe9YuN_wVZh31JIt9NxHiZzZUlmnt9_ldQXHcBt30H8TQaemwD5ddZ0mMcQNbtQfVlUBW09pvuSKtPlYQN4xUKp5eyAjSZKpxj0H8Sqx03igstjK_n923zd68w0BF6G54kXV6FKL1Cfh9MOnQNqYWophyVK9Cmgik4JQtsUdfTdweHAki42bUoE_iFlL2qgIyKRIA-uY-D3eQI4T9z8EDRWmSRsQD7YFUe9GuCr8vnxGK-Pe7DwR0nc-3LE7usgf88HGuVpHQ6EQcYb9sNrFWBExQGsIrJfysQgPtmxuX2QIWhv6OleYHvVIeKWtIN8RIaOuUKIiuRZxNo15Z6WfdygmsGx69dYs_ag6J7V3exVEzyo2-D",
#   "has_more": true
# }

curl -X POST https://api.dropboxapi.com/2/files/list_folder/continue \
    --header "Authorization: Bearer <USER A ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"cursor\": \"AAFrIRZh7nzWCcC6FBFM2NSt_CiBcSXEWpN_kOSXizLxOXJM7Q1JE6WYaZoV7oDIzvbE7xzEdz4eKQWx7b6UwgCjGCqZOxKGMCpErCvtLeDq29D4lM9bYQlJOeXRll4d9LFid4lo0zPiD65QWKO67gYSW8v-PELeIzrfdHEeJEgC2lIKA9owbaL1rgZec7btP0bRBrWHkHLCToNCqA_FIR3lFX6wwsOQExGELI3crD4sJZdaHqqJbLFcCM8MweyEuB8A8fO_MVEMs0Ag-RenNkdtGgxr55QMDZyjYh5oB3pQNXVTzx5Kxa7gfhRJNhP_hUhJhBSRfvem9xYHpvfw0xZaRtZMO05_xQ7_yNtAA06kv1Wd3ymArMDzzP_423NxBsglBjHpnTjirE090N-f5wOlyonR2GDN9NyQgZsdXUN9DGq_-OYwXYaYXKK_xUxGp6GOj3Cw5p8Jc6j_5VuBGEqP_jRQoMEV-kJ19HdX5JU6vldcR_yaqCIzqh9qks2UBLJ9wPP5zycpVdfbpfi9QfwZDYueImKQ4jpHyW6IRyQNTnDFxn-7-7XmNA7eZN50tyyqC0Ws1JTcPb184dRndYEVZwIE4FY1nniShtNwmWYcrsP8x86O4YMnH4MLsKNz6A8glaM191CQ9oq9vfZTwIozYzg7iLmXenluYlwfyIpEKVJw9cnAZEYOFhwl3X8Rvf_wLPC1i8qP6ltJEJg0uCTJWaG2xJgHj3j6qRFfQO8tI4zihsovjyxtjGbwy6VHHsTJmCvbb6HtrflqmbmgZ8HtqUalHEUhz1pUWeurF_JKfazOfD8RYwCfGCKXCiyr_TvhnzOLaW47UaDeU07w0sztWWS8H0zYPdT96xGLJwxu5v1gBr2nNnwtm9OY5Gm4OV_f82fhV3rrlT7tMusH8NaVvOt_M5RrQY3_xlq8wLvR73ildo-6YthgCarb_0JonhCHvMn4Ay_hbQfTkWYa0RIS2kjB4qxNDEmanzDhQPTvrgXrcjv-vsWVLvzZ0KpqCLzh4XxOeqLg7QSXleTnbsiUkYGMZuWz_nIkgHBe9YuN_wVZh31JIt9NxHiZzZUlmnt9_ldQXHcBt30H8TQaemwD5ddZ0mMcQNbtQfVlUBW09pvuSKtPlYQN4xUKp5eyAjSZKpxj0H8Sqx03igstjK_n923zd68w0BF6G54kXV6FKL1Cfh9MOnQNqYWophyVK9Cmgik4JQtsUdfTdweHAki42bUoE_iFlL2qgIyKRIA-uY-D3eQI4T9z8EDRWmSRsQD7YFUe9GuCr8vnxGK-Pe7DwR0nc-3LE7usgf88HGuVpHQ6EQcYb9sNrFWBExQGsIrJfysQgPtmxuX2QIWhv6OleYHvVIeKWtIN8RIaOuUKIiuRZxNo15Z6WfdygmsGx69dYs_ag6J7V3exVEzyo2-D\"}"

# {
#   "entries": [
#     {
#       ".tag": "folder",
#       "name": "test_377315_subfolder",
#       "path_lower": "/test_377315/test_377315_subfolder",
#       "path_display": "/test_377315/test_377315_subfolder",
#       "parent_shared_folder_id": "6607843792",
#       "id": "id:25N5ksooX-sAAAAAAAODzw",
#       "sharing_info": {
#         "read_only": false,
#         "parent_shared_folder_id": "6607843792",
#         "traverse_only": false,
#         "no_access": false
#       }
#     }
#   ],
#   "cursor": "AAFMPTG7mXPepcjHoBadyHfav2CwOyTABJbT7nPJxgGUoTtulmtkgoQT2LrfhHg1PKXd6PnhwepihCKHkKwxDvLXXEKoT9OITYEkdfbfwzFun6jzi5rEARnjq3HnzPVl81aQZ_9xRMBWzjBO80gIqF0rFmAchFGU2U9KY5EBMVvOixr76iFnsVBj-T5YsQbgciv2q-oQG09nn2gG9CljVY7040f_xBaVAJZNRP8GpcMrWtov1IJMhrUe6Dh7deIUygLwBh8WBcTnxG-UhRsCLhcEs67wbt8rBlXjEJKoTwgglxddbK_vP4jcVdDKa0carW82cOgx0_NMNXEEpZT-0krS3SYaAue6wZw3zMK0P4ABtYlbA023gGpqCaQXaPwEhjeD1jVa4hsdh0giD39mbg1zncCWfh8KYad3FHaWYNkS2GgBzg3RGbGGrkUyA-vMsKYfXISKziL7bejJiiamEiLDvP1ECX8qLZQMbL24fViLLNtuci0trvSR6eTlWm1JdhpTjn_unCBx4dD2GNnfYy_CDsnWQKVlChd1u0uu7cvJsgKYHAreXAE8wDxQsXOS58AhREIp773WJX6H3IgN2RDJ52lozaSaW7pvbDKAOG-nAXCHoKfCCGiSXLaPobhLoaWHQOdNTYoH5tFdkncy7FuTweo7fMAOZEpg0VxNoI53Szlz9VGB8wh3KPZHBiTdbpH37UmUAUH3hbE3S3ddPwrUA9-83uq_C3lV8ZsSanNVsSV_nqYxF0sdCK7WYGIlRivrvv4bo_O1fvXnEK9zEQXwK-XS43unZA2zsa3pycKlCwhkFwerQGKDHsswuZw-_R92mAohcTcWo10LiBf316sS3dB5zntRzRM_8qK3ossgcZxTLJ8cvUHm0KJLlr3SQAd2iNg02wbPN2QQyvr27ElSdExFRfayR1TaqYZbH-2GcvdTWhc9C3YnoRQu59_7Du-4_pCKYUQtyNBMt-vZozCh1TweFDw_yRIaez0x8AECRgZThembtgseXJnCTLOx48ndkBIH1G78-EBCnRWBbRk0ht9D_GUgI18YRuMade8m8DK8gR5OcfMcdG06kiaQhfIpTlIGDARGCTIco38_rUL-ZcH1RaLv7bgGAvpFMBW2_BnX_20IzBZGw1EVBmUdrcP1EDi5atN-zabWf7FW3ajEm5Evgg5OATm5MgsMyHSefRh7V2FWbU1l1kbdrBsIeIimiTFXhuqQ6dV6pvw0yjvsalWLzxJr0apDtqoKqnH11aBZ8ok2ly0N-l86gkq8pHlteUM2eXYAfJRq77OzYtenNwYP8EY-2sQ_MbSWdMcKeiNyEqz_nWpDsOoWK3Ek3T17j_BobkY57dE1MpvmZhzh_RyGebcCtfU77rpSaxPL7NUkltSEEwgbCzyNxGxCuBYl8_haQ7tqqb3iOGuhiZxmTEPRmiChGKlmGNkxFSQ8Ng",
#   "has_more": false
# }

Note that when you first share a folder, it is expected that you'll see the removal and re-addition of that folder. (This is due to how Dropbox works on the backend when first sharing a folder. You're essentially removing the non-shared copy of the folder, and mounting the shared folder.)

After that though, I do see the changes from the other user inside the newly mounted shared folder when paging through the /2/files/list_folder/continue results. (Note that also due to some implementation details, these can be returned across multiple pages.)

I'm not seeing the identical repeated results from /2/files/list_folder/continue that you describe though. Can you double check that you're using the latest returned cursor each time, and aren't accidentally re-using the same cursor, for instance?

If you're definitely sending the updated cursor each time, we'll need to investigate this further, as it may be specific to some configuration or account. In that case, please open an API ticket with a sample (like my output above) so we can look into it. Please make sure to redact the access tokens, but please do include the user IDs so we can look into it specifically. Thanks in advance! 

Highlighted

Re: A shared folder where the non-owner changes content, causes cursor loop with wrong data

Helpful | Level 6

Hi Greg,

I have also been further investigating this. I believe something the problem is when we got the delete folder our storage of the cursor broke. This caused us to get a new cursor every time but not store it properly (overflow due to an unexpectedly lengthy cursory). This is what produced the symptoms. Sorry for the false report!

This should be cleared as a false positive, however, thank you for clarifying the unexpected delete folder call we got stuck on, and for the quick response!

View solution in original post

Work Smarter with Dropbox

The way we work is changing. Share and discover new ways to work smarter with Dropbox in our community.

Sound good? Let's get started.
Need more support?