# GoogleDriveOAuthInternetAccount

Auto-generated from the @jbrowse/mobx-state-tree model in the source — see the [developer guide](https://jbrowse.org/jb2/docs/developer_guide/) for concepts. Provided by the `authentication` plugin. [View source](https://github.com/GMOD/jbrowse-components/blob/main/plugins/authentication/src/GoogleDriveOAuthModel/model.tsx).

Fetches a file from a Google Drive share link through the Drive API, with an
OAuth 2.0 token from the Google login.

The configuration slots for this model are documented on its [config schema page](../../config/googledriveoauthinternetaccount).

Each section ends with the members a composed model contributes, linked to the page that documents them.

## Properties

| Member | Description |
| --- | --- |
| **type**<br><code>type: types.literal('GoogleDriveOAuthInternetAccount')</code> |  |
| **configuration**<br><code>configuration: ConfigurationReference(configSchema)</code> |  |

## Getters

| Member | Description |
| --- | --- |
| **toggleContents**<br><code>Element</code> | The FileSelector icon for Google drive |
| **selectorLabel**<br><code>string</code> |  |

10 inherited getters from one model:

From [OAuthInternetAccount](../oauthinternetaccount): [`conf`](../oauthinternetaccount#getter-conf), [`authEndpoint`](../oauthinternetaccount#getter-authendpoint), [`tokenEndpoint`](../oauthinternetaccount#getter-tokenendpoint), [`needsPKCE`](../oauthinternetaccount#getter-needspkce), [`clientId`](../oauthinternetaccount#getter-clientid), [`scopes`](../oauthinternetaccount#getter-scopes), [`state`](../oauthinternetaccount#getter-state), [`responseType`](../oauthinternetaccount#getter-responsetype), [`refreshTokenKey`](../oauthinternetaccount#getter-refreshtokenkey), [`authFlowParams`](../oauthinternetaccount#getter-authflowparams)


## Methods

| Member | Description |
| --- | --- |
| **getFetcher**<br><code>(location?: UriLocation &#124; undefined) =&gt; (input: RequestInfo, init?: RequestInitWithMetadata &#124; undefined) =&gt; Promise&lt;Response&gt;</code> |  |
| **openLocation**<br><code>(location: UriLocation) =&gt; GoogleDriveFile</code> |  |

1 inherited method from one model:

From [OAuthInternetAccount](../oauthinternetaccount): [`retrieveRefreshToken`](../oauthinternetaccount#method-retrieverefreshtoken)


## Actions

| Member | Description |
| --- | --- |
| **validateToken**<br><code>(token: string, location: UriLocation) =&gt; Promise&lt;string&gt;</code> |  |

8 inherited actions from one model:

From [OAuthInternetAccount](../oauthinternetaccount): [`storeRefreshToken`](../oauthinternetaccount#action-storerefreshtoken), [`removeRefreshToken`](../oauthinternetaccount#action-removerefreshtoken), [`postTokenGrant`](../oauthinternetaccount#action-posttokengrant), [`exchangeAuthorizationForAccessToken`](../oauthinternetaccount#action-exchangeauthorizationforaccesstoken), [`exchangeRefreshForAccessToken`](../oauthinternetaccount#action-exchangerefreshforaccesstoken), [`validateTokenWithProbe`](../oauthinternetaccount#action-validatetokenwithprobe), [`getTokenViaAuthFlow`](../oauthinternetaccount#action-gettokenviaauthflow), [`getTokenFromUser`](../oauthinternetaccount#action-gettokenfromuser)


