IP Library Granted Patent US 10,693,881
Granted Patent B2
US 10,693,881 · App. 16/241,924 · Granted Jun 23, 2020

System and method for embedding first party widgets in third-party applications

Inventors: Brian Lewis Cairns (Boulder, CO); Victoria Hsiao-Tsung Chou Fritz (Maplewood, NJ); Eric Benson Schoeffler (Boulder, CO); Michael Jeffrey Procopio (Boulder, CO)
Assignee: Google LLC
H04L63/101H04L63/08H04L63/126H04L67/00H04L67/06H04W4/60
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,693,881
App. No.
16/241,924
Granted
Jun 23, 2020
Kind
B2
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.

Claims (59)

1. A method for providing a third party application with access to files stored on a server, the method comprising:

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 a 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, and

an application identifier of the third-party application, wherein the document is identified in a pop-up window associated with the web page provided by the third party application and rendered by the browser;

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, and the authenticated application identifier, granting access to the file for the third party application.

2. The method of claim 1 , further comprising:

receiving an indication of a user selection of the UI component; and

allowing a user to share the file with one or more other users.

3. The method of claim 1 , further comprising:

receiving an indication of a user selection of the UI component; and

providing a list of files stored on the sever for presentation to a user to allow the user to open any of the files in the list, the list comprising the file associated with the document identifier.

4. The method of claim 1 , wherein the web page comprises a plurality of UI components that each provide for a different operation with respect to the file.

5. The method of claim 1 , further comprises:

determining whether the application identifier references the valid application, wherein the determining comprises:

determining that the application identifier references a third-party application that was previously installed by a user; and

determining that the application identifier references a third-party application that was previously authorized by the user to access the file stored on the server and associated with the document identifier.

6. The method of claim 1 , wherein the request further comprises an origin identifier, the method further comprising:

determining that the origin identifier and the document identifier are both associated with the application identifier.

7. The method of claim 6 , further comprising:

authenticating the origin identifier at the server, wherein authenticating the origin identifier comprises determining whether the origin identifier is associated with the valid application that is referenced by the authenticated application identifier.

8. The method of claim 6 , wherein the authenticating of the application identifier and the origin identifier are performed before rendering visible at least a portion of the UI component in the web page, the method further comprising:

in response to the authenticating of the application identifier and the origin identifier, rendering visible the at least the portion of the UI component in the web page.

9. The method of claim 6 , wherein the authenticating of the application identifier and the origin identifier are performed after rendering visible a wrapper of the UI component in the web page, wherein in response to determining at least one of the application identifier not referencing the valid application or the origin identifier not being associated with the valid application, denying the access to the file for the third-party application.

10. The method of claim 6 , further comprising:

including a UI component client in the web page;

wrapping the UI component client in an application programming interface (API), wherein the API exposes at least one functionality of the UI component to the third-party application; and

sending a message with the application identifier and the origin identifier from the wrapped UI component client to the UI component.

11. The method of claim 10 , further comprising checking, at the UI component, that the origin identifier associated with the valid third-party application matches an origin of the web page.

12. The method of claim 10 , wherein the message received at the UI component from the UI component client is generated using the browser, wherein the browser automatically sets the origin identifier based on an address of the web page.

13. The method of claim 1 , wherein the UI component comprises one of a sharing interface, a document selection user interface, a file manager user interface, a document editing user interface, a third-party application installation interface, or a toolbar.

14. A system for providing a third party application with access to files stored on a server, the system comprising:

a memory; and

a processor, coupled to the memory, to:

receive, 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 a 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, and

an application identifier of the third-party application, and

wherein the document is identified in a pop-up window associated with the web page provided by the third party application and rendered by the browser;

authenticate 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, and the authenticated application identifier, grant access to the file for the third party application.

15. The system of claim 14 , wherein the processor is further to:

receive an indication of a user selection of the UI component; and

provide a UI to allow a user to share the file with one or more other users.

16. The system of claim 14 , wherein the processor is further to:

receive an indication of a user selection of the UI component; and

provide a list of files stored on the sever for presentation to a user to allow the user to open any of the files in the list, the list comprising the file associated with the document identifier.

17. The system of claim 14 , wherein the web page comprises a plurality of UI components that each provide for a different operation with respect to the file.

18. A non-transitory computer readable medium storing computer executable instructions, which, when executed by a processor, causes the processor to perform a method for providing a third party application with access to files stored on a server, the method comprising:

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 a 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, and

an application identifier of the third-party application, wherein the document is identified in a pop-up window associated with the web page provided by the third party application and rendered by the browser;

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, and the authenticated application identifier, granting access to the file for the third party application.

19. The non-transitory computer readable medium of claim 18 , wherein the method further comprises:

receiving an indication of a user selection of the UI component; and

providing a UI to allow a user to share the file with one or more other users.

20. The non-transitory computer readable medium of claim 18 , wherein the method further comprises:

receiving an indication of a user selection of the UI component; and

providing a list of files stored on the sever for presentation to a user to allow the user to open any of the files in the list, the list comprising the file associated with the document identifier.

Assignments (2)
CHANGE OF NAME Recorded Jan 15, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 048077/0844 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2019
From: CAIRNS, BRIAN LEWIS; CHOU FRITZ, VICTORIA HSIAO-TSUNG; SCHOEFFLER, ERIC BENSON; PROCOPIO, MICHAEL JEFFREY
To: GOOGLE INC.
Reel/Frame 047923/0450 →
Continuity (5)
Continuation 15842739 · Dec 14, 2017
Continuation 14668965 · Mar 25, 2015
Continuation 13841663 · Mar 15, 2013
Provisional Application 61664588 · Jun 26, 2012
Related Publication 20190141046A1 · May 9, 2019
Cited By (1)
US 12,335,119