<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic reconstitute file tree structure from list_folder recursive response in Dropbox API Support &amp; Feedback</title>
    <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/reconstitute-file-tree-structure-from-list-folder-recursive/m-p/278523#M16683</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am using the list_folder endpoint with the recursive arg. I am looking for a way (in javascript) to take the results and create an object that is organized into the nested file tree structure one would see while interacting with Dropbox. I am not from a CS background and may be unaware of a good algorithm for this, but regardless, I would love some help if anyone could lend a hand.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;here is an example of the recursive response (paths only):&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/l_one&lt;/P&gt;
&lt;P&gt;/l_one/common&lt;/P&gt;
&lt;P&gt;/l_one/common/2016&lt;/P&gt;
&lt;P&gt;/l_one/common/2017&lt;/P&gt;
&lt;P&gt;/l_one/common/2018&lt;/P&gt;
&lt;P&gt;/l_one/common/2016/folder_one&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_two&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_three&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_four&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_five&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;/l_one/common/2017/folder_one&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2017/folder_two&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2017/folder_three&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2017/folder_four&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2017/folder_five&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;/l_one/common/2018/folder_one&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2018/folder_two&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2018/folder_three&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2018/folder_four&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2018/folder_five&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;/l_one/common/2016/folder_one/file_one.pdf&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_one/file_two.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_one/file_three.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_two/file_one.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_two/file_two.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_two/file_three.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_three/file_one.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_four/file_one.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_four/file_two.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;same idea for pdf's in 2017 and 2018&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;of course what i want is&amp;nbsp; nested JS object:&lt;BR /&gt;&lt;BR /&gt;fileTree = {&lt;BR /&gt;&amp;nbsp; l_one: {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; common: {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2016: {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; folder_one: [*pdf's here*],&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; folder_two: [*pdf's here*],&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2017: {...},&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2018: {...}&lt;BR /&gt;&amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;any help is greatly appreciated!&lt;BR /&gt;&lt;BR /&gt;* I am not necessarily looking for Dropbox api endpoint tips - if there is a better way to use list_folder, I am interested, but I am mostly looking for a javascript specific way of building this object.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 29 May 2019 09:12:58 GMT</pubDate>
    <dc:creator>BobHabig</dc:creator>
    <dc:date>2019-05-29T09:12:58Z</dc:date>
    <item>
      <title>reconstitute file tree structure from list_folder recursive response</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/reconstitute-file-tree-structure-from-list-folder-recursive/m-p/278523#M16683</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am using the list_folder endpoint with the recursive arg. I am looking for a way (in javascript) to take the results and create an object that is organized into the nested file tree structure one would see while interacting with Dropbox. I am not from a CS background and may be unaware of a good algorithm for this, but regardless, I would love some help if anyone could lend a hand.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;here is an example of the recursive response (paths only):&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/l_one&lt;/P&gt;
&lt;P&gt;/l_one/common&lt;/P&gt;
&lt;P&gt;/l_one/common/2016&lt;/P&gt;
&lt;P&gt;/l_one/common/2017&lt;/P&gt;
&lt;P&gt;/l_one/common/2018&lt;/P&gt;
&lt;P&gt;/l_one/common/2016/folder_one&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_two&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_three&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_four&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_five&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;/l_one/common/2017/folder_one&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2017/folder_two&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2017/folder_three&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2017/folder_four&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2017/folder_five&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;/l_one/common/2018/folder_one&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2018/folder_two&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2018/folder_three&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2018/folder_four&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2018/folder_five&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;/l_one/common/2016/folder_one/file_one.pdf&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_one/file_two.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_one/file_three.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_two/file_one.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_two/file_two.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_two/file_three.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_three/file_one.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_four/file_one.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/l_one/common/2016/folder_four/file_two.pdf&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;same idea for pdf's in 2017 and 2018&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;of course what i want is&amp;nbsp; nested JS object:&lt;BR /&gt;&lt;BR /&gt;fileTree = {&lt;BR /&gt;&amp;nbsp; l_one: {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; common: {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2016: {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; folder_one: [*pdf's here*],&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; folder_two: [*pdf's here*],&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2017: {...},&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2018: {...}&lt;BR /&gt;&amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;any help is greatly appreciated!&lt;BR /&gt;&lt;BR /&gt;* I am not necessarily looking for Dropbox api endpoint tips - if there is a better way to use list_folder, I am interested, but I am mostly looking for a javascript specific way of building this object.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 29 May 2019 09:12:58 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/reconstitute-file-tree-structure-from-list-folder-recursive/m-p/278523#M16683</guid>
      <dc:creator>BobHabig</dc:creator>
      <dc:date>2019-05-29T09:12:58Z</dc:date>
    </item>
    <item>
      <title>Re: reconstitute file tree structure from list_folder recursive response</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/reconstitute-file-tree-structure-from-list-folder-recursive/m-p/278616#M16692</link>
      <description>As you mentioned, this is probably more of a question about handling data in JavaScript then about the Dropbox API itself. (It sounds like you have a good idea of how to use list_folder already. Make sure you do check has_more and call back to list_folder_continue if/as necessary though.)&lt;BR /&gt;&lt;BR /&gt;I don't believe we have any sample code for building the tree like this unfortunately, but hopefully some other developer on the forum here has something they can share!</description>
      <pubDate>Fri, 01 Jun 2018 15:44:10 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/reconstitute-file-tree-structure-from-list-folder-recursive/m-p/278616#M16692</guid>
      <dc:creator>Greg-DB</dc:creator>
      <dc:date>2018-06-01T15:44:10Z</dc:date>
    </item>
    <item>
      <title>Re: reconstitute file tree structure from list_folder recursive response</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/reconstitute-file-tree-structure-from-list-folder-recursive/m-p/278618#M16693</link>
      <description>&lt;P&gt;I do think we missed the opportunity to take advantage of the has_more / continue feature of the API. My current deadline for a demo is too close to try that, but that is likely the best overall way. With that, I can build the Object I'm looking for step by step instead of having this challenge in front of me. Thanks for the tip, and yes - hope someone else has some insight for how to go about this.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 01 Jun 2018 15:47:22 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/reconstitute-file-tree-structure-from-list-folder-recursive/m-p/278618#M16693</guid>
      <dc:creator>BobHabig</dc:creator>
      <dc:date>2018-06-01T15:47:22Z</dc:date>
    </item>
  </channel>
</rss>

