cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Update: Find information on Dropbox support during COVID-19 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: 
Highlighted

Re: Sharing - how to share a folder with edit access when don't know my friend's dropbox user id?

Helpful | Level 5

So those interactions need to happen in Dropbox and can't be done via API right?

 

Also, at the end of it all, how will I as a developer on behalf of user #2, know that User #1 has granted access? I guess once I know that I can 1) mount the folder if needed and then 2) get it's real id to store in my app and fetch contents from there. (not sure how exactly I'll get that when all I have in the app is the preview_url, e.g. my app won't know about anything happening behind the scenes in dropbox I don't believe.

Highlighted

Re: Sharing - how to share a folder with edit access when don't know my friend's dropbox user id?

Dropboxer
Dropboxer

That's correct, this flow is part of the Dropbox web site, not the API.

 

From the app's perspective, it can also store the shared folder ID when retrieving the preview_url. The shared folder ID is unique for shared folders across Dropbox, and consistent across accounts. So, you would see the same shared folder ID for API calls for any member of the folder.

The app can also check on the current members of the shared folder at any point in time via /2/sharing/list_folder_members[/continue], e.g., from user #1's account in this case.

The app can also check for any shared folders that the user has been given access to via /2/sharing/list_mountable_folders[/continue], e.g., from user #2's account in this case.

Highlighted

Re: Sharing - how to share a folder with edit access when don't know my friend's dropbox user id?

Helpful | Level 5

So I'm taking a stab at this.. My User #2 who has a shared link sends a request to sharingGetSharedLinkMetadata and gets back a folder object but the id in that response doesn't work as the shared_folder_id arg to sharingGetFolderMetadata

 

When I get a files within that folder though each file object includes a parent_shared_folder_id that looks like the correct format for sharingGetFolderMetadata. Seems like I'm doing something wrong and I should be able to get the shared_folder_id somehow with 1 API call and the shared link url. I'm probably missing something obvious.. Thoughts? 

Highlighted

Re: Sharing - how to share a folder with edit access when don't know my friend's dropbox user id?

Dropboxer
Dropboxer

The 'id' for a file or folder, such as returned by sharingGetSharedLinkMetadata, is not the same thing as a 'shared_folder_id', and the two are not interchangeable.

 

In the flow we discussed, you would get the shared folder ID from user 1's side, anywhere you can get the metadata for the folder, such as from filesGetMetadata. You can then use that to get the 'preview_url' from sharingGetFolderMetadata as user 1. User 2 doesn't need the shared_folder_id in that flow. User 2 just receives the shared link, for viewing the file/folder, or the preview_url, for requesting access to the folder.

Highlighted

Re: Sharing - how to share a folder with edit access when don't know my friend's dropbox user id?

Helpful | Level 5

Yeah, I think when I've talked to the designer about a flow that makes sense we settled on:

 

User #1 shares a sharedLink with User #2, which gives User #2 read-access in our App to all the content in the folder. This way we at least can deliver value to user #2 as context. Otherwise someone is just going to out of the blue get a dropbox email that doesn't appear to be related to our application.

 

Once User #2 wants to "upgrade" to contribute or make edits they would then ask for permission and we'd bounce them out to the preview_url. Once User #1 grants User #2 permission, I'm hoping be able to make some change (if needed) so that User #2 can now write back new files to the folder or edit files in that folder.

 

It's odd to me that as a developer I can peek into any of the files inside of the sharedLink folder contents to obtain the parent_shared_folder_id that I'll need to use to get at the preview url. So I kind of wondered if I was doing something wrong or missing an API endpoint that might have it. I suppose this means that a sharedLink to a folder without files in it would be busted (not the end of the world). 

 

Let me paint a picture of the App in case it gives you any other ideas..

 

I'm a songwriter. I write chords and lyrics in my app which saves a text file to a folder inside of an App Folder. 

You and I are going camping and we both play guitar and you write songs too.

 

I want to share a folder of all my songs with you so we can play them together. So I send you a magic link to my app that gives you the sharedLink and then when you open my app you see my songs which makes you excited to participate.

 

Now if you want to add yours too (which I hope, but don't presume that you'll necessarily want to), so you sign in to dropbox, and then ask me for edit permission to the shared folder (via the preview_url). Once I grant you access I hope that you can just refresh the App and then you can add your songs to the folder.

 

That's at least the flow we're trying to build. Not sure if you can think of a better pattern. 

Highlighted

Re: Sharing - how to share a folder with edit access when don't know my friend's dropbox user id?

Dropboxer
Dropboxer

I see, thanks for the additional context. I can't think of a better system for this use case unfortunately.

Highlighted

Re: Sharing - how to share a folder with edit access when don't know my friend's dropbox user id?

Helpful | Level 5

Hey @Greg K. 

 

So I'm trying to get the `shared_folder_id` as user #1 but I'm not successful.

 

Heres' what I see in Dropbox for the folder. I'm the owner:

myfolder.png

 

 

I call `/files/get_metadat` but I don't see anything to use as a `shared_folder_id`:

 

get_metadata.png

 

response.png

 

The folder is link-shared:

link-share.png

 

So it seems I don't have what I need to programmatically add someone by email address. Ideas?

Highlighted

Re: Sharing - how to share a folder with edit access when don't know my friend's dropbox user id?

Helpful | Level 5

Ah, I'm just now seeing the "This folder can only be shared as a link" banner, which must be relevant.. I wonder if it's because this is a folder at the root level of my App Folder? aka it's /Apps/Songbook.Studio/Commoner .. maybe I'm heading into the rabbit hole.

Highlighted

Re: Sharing - how to share a folder with edit access when don't know my friend's dropbox user id?

Helpful | Level 5

I tried to share the folder in the Dropbox MacOS client but get this:

share-in-db.png

 

Starting to wonder if the "App Folder" permission is at the root of what's dogging me. I don't recall being so hamstrung until we made the decision to change that in the interest of user privacy.

Highlighted

Re: Sharing - how to share a folder with edit access when don't know my friend's dropbox user id?

Helpful | Level 5

I tried creating another folder in the Dropbox web client and choosing "Share with specific people" and got this, which is stuck:

test-hanging.png

Polls
Do you know how to organize your files and folders?
We have created a guide on folder best practice, so you can get organized now check it out here.

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.
Who's talking

Top contributors to this post

What do Dropbox user levels mean?
Need more support?