Abstract:
Systems and methods are disclosed for multi-tiered registration of file formats for applications. A processor receives a registration request from a developer of an application to register an application with a list of primary formats and a list of secondary formats. The processor associates the list of primary formats and the list of secondary formats with the application, and the processor receives an open request from a user to open a file having a file format. The application is determined to be associated with a primary format corresponding to the file format, and the application is selected to open the file.
Abstract:
A document collaboration system allows applications to collaborate on a binary data file even if the binary data file is not in a collaborative document format. In response to a request from an application to access a binary data file, the document collaboration system gives the application access to a document model corresponding to the binary data file and the application. If the document model does not already exist, it may be created by generating an empty document model, transmitting the binary data file to the application, and allowing the application to fill in the empty document model based on the binary data file. The document model may be provided to and modified by its related application through an application programming interface (API), and changes to the document model may be applied to the binary data file.
Abstract:
A cloud storage system provides remote access to a file associated with the cloud storage system. In response to a request to access the file, the cloud storage system identifies applications available to the request generator and capable of accessing the file, which may include both online web-based applications and applications installed on a device with which the user is accessing the file. The cloud storage system determines an application type of an identified application, and provides file access to the identified application based on the application type.
Abstract:
A method for saving a file stored on a third-party system directly to a cloud storage system includes providing a third-party system with an embeddable user interface for saving a plurality of files stored on the third-patty system to a server hosting the cloud storage system. The method further includes receiving at the server a save request from a user on a client computer using the embeddable user interface to select the first file to be stored on the server, where the save request comprises information identifying a first file in the plurality of files. The method further includes authenticating the save request, downloading the first file from the third-party system directly to the server using the information identifying the first file, and saving the first file on the server.
Abstract:
A cloud storage system provides remote access to a file associated with the cloud storage system. In response to a request to access the file, the cloud storage system identifies applications available to the request generator and capable of accessing the file, which may include both online web-based applications and applications installed on a device with which the user is accessing the file. The cloud storage system determines an application type of an identified application, and provides file access to the identified application based on the application type.
Abstract:
Systems and methods are disclosed herein for exporting a file to an application. A processor receives a request from a user for access to a file stored on a web-based storage system. The request includes a designation of an application to open the file, and the file is associated with a native format. The processor determines that the application is not configured to import the file in the native format and determines whether the file can be converted to an importable format that can be imported by the application. The processor converts the file from the native format to the importable format and exports the converted file in the importable format to the application, which opens the converted file.
Abstract:
Methods and systems for providing a third party application with access to files stored on a server are disclosed. A method may include receiving, from a browser at a client device, a request for a file stored on the server, wherein the request is received via a web page provided by the third party application and rendered by the browser, the web page comprising an embedded user interface (UI) component associated with the server to access the file stored on the server, wherein the request includes a document identifier associated with the file, an application identifier of the third-party application, and an origin identifier, wherein the origin identifier is associated with the web page provided by the third party application and rendered by the browser. The method may further include authenticating the application identifier at the server, wherein authenticating the application identifier comprises determining whether the application identifier references a valid application, and based on the document identifier, the authenticated application identifier and the origin identifier, granting access to the file for the third party application via the embedded UI component.
Abstract:
A method for saving a file stored on a third-party system to a cloud storage system includes receiving, at a cloud storage server of the cloud storage system, a save request from the third party system. The save request is generated in response to a user selecting, via a user interface presented on a client computer, the file from a plurality of files stored on the third-party system, the file to be saved to the cloud storage server. The save request comprises a file identifier of the file and information identifying the user. The information identifying the user allows access to a user account of the user on the cloud storage system without use of the client computer as intermediary service, and the third-party system stores the file associated with the file identifier. The method further includes authenticating the save request, based at least in part on the information identifying the user, creating a copy of the file at the cloud storage server, and associating the copy of the file with the user.
Abstract:
A method for saving a file stored on a third-party system directly to a cloud storage system includes providing a third-party system with an embeddable user interface for saving a plurality of files stored on the third-party system to a server hosting the cloud storage system. The method further includes receiving at the server a save request from a user on a client computer using the embeddable user interface to select the first file to be stored on the server, where the save request comprises information identifying a first file in the plurality of files. The method further includes authenticating the save request, downloading the first file from the third-party system directly to the server using the information identifying the first file, and saving the first file on the server.
Abstract:
Methods and systems provide embeddable user interface widgets to third-party applications so that the widgets can be securely embedded in, and securely used from within, the third-party applications. An embeddable widget may be authorized to access a first-party cloud storage system from a third-party application based on the cloud storage system authenticating a request received from the widget. The authentication may be based on an application identifier, an origin identifier, and/or one or more document identifiers received from the third-party application through the embedded widget. The disclosed methods and systems may significantly mitigate security concerns caused by embedding software in third-party sites, such as clickjacking.