January 25, 2019 Vinod Chandru Company Keep users' data at their fingertips with Cross-Cloud SearchThe key to digital transformation is access to data. Applications strive to break down silos by surfacing data within their user interface to access and modify. Sources of data could either be structured, such as within CRM systems, or unstructured, such as files in on-premises or cloud storage.In this post, we’ll review how apps can surface all of a user’s unstructured file data easily for transfer between an app and the user’s content repositories.Accessing files in content repositoriesKloudless provides a unified authentication layer that enables apps to connect to any of their users’ cloud services with a single OAuth 2.0 flow. Users can choose to connect a number of Storage, CRM, ITSM, Calendar, and other systems.Once connected, apps prompt users to select files or locations to place files using two popular approaches:By displaying a file-system tree hierarchy to browse through and select files or folders.By providing a Search box that users use to query for files. The files display as search results.The open-source Kloudless File Picker is popular for both approaches. It’s built with both a search box as well as a view of a browsable filesystem. Our publicly accessible Cloud Storage API powers the File Picker under the hood. This means any application developer could customize their integration by using the underlying API directly.In fact, we’ve noticed just that. Mobile apps prefer a search box that allows their users to search for content by keyword, or view content recently modified in their cloud storage. The Kloudless cloud storage API includes a Search API endpoint that uses native cloud app search capabilities to search for files. Files and folders can be found by querying for terms either in their name or actual file content.Here’s an example of how to use this feature via the Kloudless API: curl -H 'Authorization: Bearer [TOKEN]' \ 'https://api.kloudless.com/v1/accounts/me/storage/search?q=hello+world'12curl -H 'Authorization: Bearer [TOKEN]' \ 'https://api.kloudless.com/v1/accounts/me/storage/search?q=hello+world'The search results display metadata on all files that match the search terms in a user’s account.However, users’ file-type data usually resides in multiple cloud accounts. These accounts could be other cloud storage tools, or even CRM systems like Salesforce and Hubspot, or collaboration tools like Slack. Searching for files across any of these systems would be a clear improvement to user experience.Cross-Cloud SearchEnter, cross-cloud search. The previous example we displayed showed querying for content in a single account. However, Kloudless also supports querying multiple accounts simultaneously. To run this query, include a comma-separated list of Account IDs in the URL and their corresponding bearer tokens in the header as shown below. curl -H 'Authorization: Bearer [TOKEN1],[TOKEN2],[TOKEN3]' \ 'https://api.kloudless.com/v1/accounts/123,456,789/storage/search?q=hello+world'12curl -H 'Authorization: Bearer [TOKEN1],[TOKEN2],[TOKEN3]' \ 'https://api.kloudless.com/v1/accounts/123,456,789/storage/search?q=hello+world'Kloudless splits the queries in the background to simultaneously execute on all accounts in question. The results are combined in a horizontal manner, with all first search results placed first, and so on. For example, this shows the most relevant content across files the user may have posted in Slack, stored in their Dropbox, received via a Google Drive share, or has access to via their Salesforce account.The unified nature of the Kloudless Storage API’s data format and endpoints means your code doesn’t need to change. Code once regardless of which systems are accessed! Check out our docs for more information on using this API endpoint. Sign up today to get started.