We use cookies to improve your experience on our site. By clicking “Accept”, you are agreeing to the collection and use of data as described in our Privacy Policy.
We use cookies to improve your experience on our site. By using our site, you are agreeing to the collection and use of data as described in our Privacy Policy.
The majority of your clients likely use a file storage solution to share, collaborate on, and store key documents and information.
The value these solutions—and your product—provide only increases when they’re integrated with your product.
Once integrated, clients can access all the documents they need without leaving your application; they can accessthe most up-to-date documents and files in your product; and they can ensure that users only access the documents that meet their scope of permissions in your product.
Given all these benefits, the question isn’t whether to implement file storage integrations—it’s how.
We’ll provide some guidance by walking you through 7 popular file storage platforms’ APIs. We’ll then introduce you to a solution that can help you build file storage integrations via a single universal API.
Microsoft OneDrive
Microsoft OneDrive is an extremely popular file storage platform.
OneDrive’s API is accessed through Microsoft Graph which is Microsoft’s single API.
Microsoft structures their API with “Drive” and “DriveItem”. “Drive” represents a container of files (like a document library or a user's OneDrive), while “DriveItem” represents an item within a drive (e.g., a document, photo, video, or folder). “DriveItem” can be accessed using their id by using /items/{item-id} syntax. Microsoft Graph also allows your app to create sharing links, add permissions and send invitations to items in a drive.
When working with large data sets, Microsoft Graph API uses paging. When querying for data that spans multiple pages, the API returns an "@odata.nextLink" URL in the response to access the next page of results. To retrieve all data, follow these URLs until no "@odata.nextLink" is returned.
Microsoft Graph supports a wide range of SDK languages: C#, CLI, PowerShell, TypeScript, JavaScript, Java, Go, PH, and Python. Microsoft also provides a file picker SDK to seamlessly access, download, save, and share OneDrive-stored files within your app, providing users with a familiar OneDrive experience.
You can learn more about OneDrive’s documentation here.
SharePoint structures their API with three major “resource types” which are “Site” (top-level object), “List”, and “ListItem”. With these resource types, SharePoint’s API can support use cases such as accessing SharePoint sites, lists, and drives (document libraries), and giving various levels of access to different lists or listItems.
Since SharePoint and OneDrive use the same API, rate limiting, pagination, and the SDKs supported are all the same.
Google Drive is Google’s file storage platform. It’s popular both amongst individual users and organizations. Case in point: The platform surpassed a billion users several years ago.
The Google Drive API offers versatile functionalities for seamless file management. It lets you download and upload files, perform comprehensive searches based on metadata, and can share files, folders, and drives for collaborative efforts. Additionally, the integration with the Google Picker API allows for thorough searching across all Drive files; you can retrieve specific details like file names, URLs, modification dates, and user information.
Google provides the following per-minute quotas in their documentation. As long as you stay below the max, there's no limit to the number of requests you can make per day.
Google Drive's API manages pagination using page tokens. When retrieving large result sets, the API response includes a nextPageToken if more results exist beyond the current set. To access subsequent pages, developers use this token in subsequent requests, enabling sequential retrieval of results until there's no more nextPageToken, signifying the end of available results.
Google currently supports the following SDK languages: Javascript, Go, Java, Node.js, and Python.
You can find Google Drive’s API documentation here.
Common endpoints for Dropbox include managing (uploading, downloading, creating, updating, deleting, and searching) files and folders, managing users, and managing shared links and permissions for shared items.
Dropbox doesn’t publish exact rate limits. Your Dropbox Business plan will determine the number of data transport calls allowed per month to specific API endpoints. If this limit is exceeded, API calls will fail with a 403 status code and an error message indicating the limit has been reached.
In terms of pagination, you’ll need to implement cursor-based pagination. Dropbox uses a separate endpoint—https://api.dropboxapi.com/2/files/list_folder/continue—with a provided cursor to output the rest of the response.
Dropbox currently offers and supports the following SDK languages: Swift, Objective-C, Python, .NET, Java, JavaScript, and HTTP.
Some common endpoints for Box are creating, updating, deleting or retrieving folders and files, managing users and groups and permissions, and tracking and retrieving events related to your Box account.
Box has grouped their rate limiting into three categories:
User-based limits: each user has a maximum number of API calls they can make per minute (usually around 1000)
Quality of service limits: these limits protect the system's performance. If too many requests are made at once, temporary restrictions might be put in place to prevent problems like system slowdowns.
Licensing-based limits: Box's different plans have a set number of allowed API calls per month.
The Box API supports two pagination methods: offset-based and marker-based. Offset-based is used for fixed-length item lists, while marker-based suits changing or unknown-length item sets.
Finally, Box currently offers and supports the following SDK languages: Java, .NET, Python, Node, iOS, and Android.
You can learn more about Box’s API by reading through their documentation here.
Similar to other file storage platforms, WorkDrive’s most common endpoints are viewing, uploading, creating, and deleting files and folders, managing users, and sharing and setting document permissions.
WorkDrive APIs use offset-based pagination that follows the JSON API specification. By default, APIs return a maximum of 50 items per response. To customize this number, you can use query parameters like ?page[offset]=0&page[limit]=50, setting offset as the starting value and limit as the desired number of items.
You can see Zoho WorkDrive’s API documentation here.
Some common endpoints in Egynte’s API include uploading, downloading, updating, and deleting files and folders, getting user information and managing permissions, and creating shared links.
The table below shows Egnyte’s API rate limits by default. It’s worth noting that these rate limits and daily usage limits are enforced per access token rather than against the entire key.
Egnyte offers standard ways to paginate your results. You can ask Egnyte for a specific starting point or limit the number of users per page. For example, start from the 10th user or only show 50 users per page. You can also ask for specific users based on things like their email, identification, or usernames.
Egnyte currently offers SDKs in the following languages: Javascript, Python (available as-is but not supported), Ruby (available as-is but not supported), .NET, Android, and iOS. Note that the depth and support offered by these SDKs may vary.
Your clients likely use an array of file storage solutions, including those covered above.
You can avoid having to build, manage, and maintain all the file storage integrations your clients need by simply building to Merge's File Storage Unified API.