New in beta: shared folder metadata

Today we’re rolling out new shared folder metadata functionality, which lets developers see additional metadata about shared folders and the files within them. This metadata includes the users who are part of a shared folder, the permissions each user has in that folder, and who last modified each file in the folder. This is the first step towards providing programmatic access to create and manipulate shared folders in the Core API.

The additional metadata also includes a new read_only field on shared folders and files within them. This should be used by apps to support the brand new view-only permission and is true if the authenticated user does not have permission to write to files in that shared folder.

The new shared folder metadata is in production beta, which means that although the new functionality is in beta, we think it’s stable enough for you to use in your production apps. To get access to the production beta, please complete this form, and we’ll get back to you soon.

Demo

We put together a simple demo at sfmdemo.herokuapp.com that lets you browse your shared folders and shows you metadata about them. The full source code for the demo is available on GitHub: github.com/dropbox/sfmdemo.

Accessing shared folder metadata

The biggest addition to the Core API is the new /shared_folders endpoint, which provides your app with a list of a users’ shared folders or details about a specific shared folder. This endpoint hasn’t yet been added to our SDKs, but—like all of the Core API—it’s straightforward to call it yourself. Below is an example curl command to get details about a user’s shared folders:

curl https://api.dropbox.com/1/shared_folders -H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"

And here’s sample output:

[
    ...
    {
        "access_type": "owner",
        "owner": {
            "display_name": "Steve Marx",
            "same_team": true,
            "uid": 178508400
        },
        "path": "/sadkittens",
        "shared_folder_id": "457064830",
        "shared_folder_name": "sadkittens"
    }
    ...
]

(Yes, I have a shared folder called “sadkittens”.) This call is used in the demo to show you your list of shared folders. Note that theaccess_type field tells me that I’m an “owner” of that shared folder. If someone else owned the folder and added me, I might be an “editor” or “viewer,” based on the new view-only shared folder permission.

To access just the metadata about that specific “sadkittens” shared folder, you could use the same curl command but with the URLhttps://api.dropbox.com/1/shared_folders/457064830. This is the call that’s used in the demo to show you shared folder membership when you click on a specific folder.

As part of this beta, new shared folder information has been added to file and folder metadata, available through all the endpoints that return metadata, e.g. /metadata, /delta, /search, and /revisions.

In the demo, once you’ve clicked on a shared folder, a /metadata call is used to get the list of files in the shared folder along with who last modified each file. When you click on an individual file, /revisions is called to show who modified the file in the past.

Join the beta!

The new shared folder metadata is in production beta. Production beta means that the API itself is stable and you can use it in your apps with real users, but we’re also planning on adding more functionality based on your feedback. When the API leaves production beta, the final version may look slightly different based on the feedback we’ve received, but we’ll continue to support the production beta APIs for three months after the final version is available.

To get access to the beta, please fill out this form, and we’ll get back to you soon.

UPDATE: Shared folder metadata is no longer in beta, so anyone can use it!

To learn more about how to use the new functionality, please check take a look at the demo source code on GitHub and read the Core API documentation.