We are aware of the issue with the badge emails resending to everyone, we apologise for the inconvenience - learn more here.
Forum Discussion
novotny
3 years agoExplorer | Level 4
backend Java process to read a shared folder
Hi,
We need a java workflow to scan the contents of a shared folder on a daily basis. I have downloaded the examples and looked at AuthorizeExample which I ran with the parameters "test.app tes...
novotny
Explorer | Level 4
Thanks to the Java TutorialExample, I am able to execute
ListFolderResult result = client.files().listFolder("");
And see the folders in my own home directory. However, my partner shared a folder with me that I wish to see the files in but I don't see it listed. That prompted me to update the team scope permissions in my dropbox app (Is that needed here?). Once I did that I went down another rabbit hole where I could no longer get my authorization code from the link provided in the AuthorizeExample as I needed admin access based on adding these extra permissions. After my partner modified me to be an admin, I was able to get an updated access token and now when I try to do the following:
ListSharedLinksResult res = client.sharing().listSharedLinks();
I get an error
com.dropbox.core.BadRequestException: Error in call to API function "sharing/list_shared_links": This API function operates on a single Dropbox account, but the OAuth 2 access token you provided is for an entire Dropbox Business team. Since your API app key has team member file access permissions, you can operate on a team member's Dropbox by providing the "Dropbox-API-Select-User" HTTP header or "select_user" URL parameter to specify the exact user
Am I on the right path?
Really, all I want to do is to be able to read the files from a shared folder. Any code snippets would be greatly appreciated.
Thanks, Jason
Здравко
3 years agoLegendary | Level 20
novotny wrote:...
ListFolderResult result = client.files().listFolder("");And see the folders in my own home directory. However, my partner shared a folder with me that I wish to see the files in but I don't see it listed. ...
Hi novotny,
You have pointed your account's home only, as a member, in the account (the string "" 😉). If the shared folder appear there as a subfolder (let say named "SharedThings"), you need to put this name (properly formatted) as a parameter (i.e. "/SharedThings", not empty string). You might need to set recursive enumeration if the shared folder contains subfolder and you need to enumerate all of them in one cycle.
novotny wrote:... That prompted me to update the team scope permissions in my dropbox app (Is that needed here?). Once I did that I went down another rabbit hole where I could no longer get my authorization code from the link provided in the AuthorizeExample as I needed admin access based on adding these extra permissions. ...
"Is that needed here?" 🙂 Good question! If the shared folder is in your home (as a subfolder there), you definitely don't need to make your life complicated. Otherwise you need it. You have to set your id as a user and the space (team folder) where your target folder reside in (aside of exact path - properly formatted).
Hope this gives direction.
- novotny3 years agoExplorer | Level 4
Thanks for the information. Below is a screenshot
The existing code:
ListFolderResult result = client.files().listFolder("");
while (true) {
for (Metadata metadata : result.getEntries()) {
System.out.println(metadata.getName());
}
if (!result.getHasMore()) {
break;
}
result = client.files().listFolderContinue(result.getCursor());
will write:
Jason Novotny
MPS
JasonNovotnyFingage
jason.novotny@fingage.com’s files
Get Started with Dropbox.pdfBut I wish to get access to the folder "AffinityInvestment". Can you please help me with the steps I need to do?
In particular how do I "set your id as a user and the space (team folder) where your target folder reside in (aside of exact path - properly formatted)." do this in Java?
Thanks, Jason
- Здравко3 years agoLegendary | Level 20
Bad "news" - your folder is out of your home. 😕 You need to use team features.
First make sure you have selected yourself in the client object using asMember. Next select proper root (your team folder) using withPathRoot. Next you can list it using empty string (the folder appears to be the root, not a subfloder there). For more basic info take a look here.
Good luck.
About Discuss Dropbox Developer & API
Make connections with other developers
795 PostsLatest Activity: 8 days agoIf 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!