diff --git a/docs/companion.md b/docs/companion.md index 83aa31c90..da36f4187 100644 --- a/docs/companion.md +++ b/docs/companion.md @@ -22,9 +22,10 @@ OAuth. ## When should I use it? If you want to let users download files from [Box][], [Dropbox][], [Facebook][], -[Google Drive][googledrive], [Google Photos][googlephotos], [Instagram][], -[OneDrive][], [Unsplash][], [Import from URL][url], or [Zoom][] — you need -Companion. +[Google Drive][googledrive], [Google Photos][googlephotos], [Google Drive +Picker][googledrivepicker], [Google Photos Picker][googlephotospicker], +[Instagram][], [OneDrive][], [Unsplash][], [Import from URL][url], or [Zoom][] — +you need Companion. Companion supports the same [uploaders](/docs/guides/choosing-uploader) as Uppy: [Tus](/docs/tus), [AWS S3](/docs/aws-s3), and [regular multipart](/docs/tus). @@ -721,6 +722,11 @@ as well as Set this to `true` to enable the [URL functionalily](https://uppy.io/docs/url/). Default: `false`. +#### `enableGooglePickerEndpoint` `COMPANION_ENABLE_GOOGLE_PICKER_ENDPOINT` + +Set this to `true` to enable the Google Picker (Photos / Drive) functionality. +Default: `false`. + ### Events The object returned by `companion.app()` also has a property `companionEmitter` @@ -981,6 +987,8 @@ automatically restart when files are changed. [facebook]: /docs/facebook [googledrive]: /docs/google-drive [googlephotos]: /docs/google-photos +[googledrivepicker]: /docs/google-drive-picker +[googlephotospicker]: /docs/google-photos-picker [instagram]: /docs/instagram [onedrive]: /docs/onedrive [unsplash]: /docs/unsplash diff --git a/docs/sources/companion-plugins/_companion-options.mdx b/docs/sources/companion-plugins/_companion-options.mdx new file mode 100644 index 000000000..8974688d5 --- /dev/null +++ b/docs/sources/companion-plugins/_companion-options.mdx @@ -0,0 +1,61 @@ +#### `id` + +A unique identifier for this plugin (`string`, default is a unique ID for each +plugin). + +#### `title` + +Title / name shown in the UI, such as Dashboard tabs (`string`, default is the +name of the plugin). + +#### `target` + +DOM element, CSS selector, or plugin to place the drag and drop area into +(`string`, `Element`, `Function`, or `UIPlugin`, default: +[`Dashboard`](/docs/dashboard)). + +#### `companionUrl` + +URL to a [Companion](/docs/companion) instance (`string`, default: `null`). + +#### `companionHeaders` + +Custom headers that should be sent along to [Companion](/docs/companion) on +every request (`Object`, default: `{}`). + +#### `companionAllowedHosts` + +The valid and authorised URL(s) from which OAuth responses should be accepted +(`string` or `RegExp` or `Array`, default: `companionUrl`). + +This value can be a `string`, a `RegExp` pattern, or an `Array` of both. This is +useful when you have your [Companion](/docs/companion) running on several hosts. +Otherwise, the default value should do fine. + +#### `companionCookiesRule` + +This option correlates to the +[RequestCredentials value](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials) +(`string`, default: `'same-origin'`). + +This tells the plugin whether to send cookies to [Companion](/docs/companion). + +#### `locale` + +An object with `strings` property containing additional i18n strings. The key is +the i18n key and the value is the English string. + +Example: + +```js +{ + strings: { + someKey: 'Some English string', + }, +} +``` + +#### `storage` + +A custom storage to be used for the plugin’s persistent data. Type `AsyncStore`, +default is `LocalStorage`. diff --git a/docs/sources/companion-plugins/box.mdx b/docs/sources/companion-plugins/box.mdx index 9312bbdbd..cbdb2828c 100644 --- a/docs/sources/companion-plugins/box.mdx +++ b/docs/sources/companion-plugins/box.mdx @@ -6,6 +6,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import UppyCdnExample from '/src/components/UppyCdnExample'; +import CompanionOptions from './_companion-options.mdx'; # Box @@ -171,56 +172,7 @@ companion.app({ ### Options -#### `id` - -A unique identifier for this plugin (`string`, default: `'Box'`). - -#### `title` - -Title / name shown in the UI, such as Dashboard tabs (`string`, default: -`'Box'`). - -#### `target` - -DOM element, CSS selector, or plugin to place the drag and drop area into -(`string`, `Element`, `Function`, or `UIPlugin`, default: -[`Dashboard`](/docs/dashboard)). - -#### `companionUrl` - -URL to a [Companion](/docs/companion) instance (`string`, default: `null`). - -#### `companionHeaders` - -Custom headers that should be sent along to [Companion](/docs/companion) on -every request (`Object`, default: `{}`). - -#### `companionAllowedHosts` - -The valid and authorised URL(s) from which OAuth responses should be accepted -(`string` or `RegExp` or `Array`, default: `companionUrl`). - -This value can be a `string`, a `RegExp` pattern, or an `Array` of both. This is -useful when you have your [Companion](/docs/companion) running on several hosts. -Otherwise, the default value should do fine. - -#### `companionCookiesRule` - -This option correlates to the -[RequestCredentials value](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials) -(`string`, default: `'same-origin'`). - -This tells the plugin whether to send cookies to [Companion](/docs/companion). - -#### `locale` - -```js -export default { - strings: { - pluginNameBox: 'Box', - }, -}; -``` + [template-credentials]: https://transloadit.com/docs/#how-to-create-template-credentials diff --git a/docs/sources/companion-plugins/dropbox.mdx b/docs/sources/companion-plugins/dropbox.mdx index 4a111f35d..d187161d9 100644 --- a/docs/sources/companion-plugins/dropbox.mdx +++ b/docs/sources/companion-plugins/dropbox.mdx @@ -6,6 +6,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import UppyCdnExample from '/src/components/UppyCdnExample'; +import CompanionOptions from './_companion-options.mdx'; # Dropbox @@ -171,56 +172,7 @@ companion.app({ ### Options -#### `id` - -A unique identifier for this plugin (`string`, default: `'Dropbox'`). - -#### `title` - -Title / name shown in the UI, such as Dashboard tabs (`string`, default: -`'Dropbox'`). - -#### `target` - -DOM element, CSS selector, or plugin to place the drag and drop area into -(`string`, `Element`, `Function`, or `UIPlugin`, default: -[`Dashboard`](/docs/dashboard)). - -#### `companionUrl` - -URL to a [Companion](/docs/companion) instance (`string`, default: `null`). - -#### `companionHeaders` - -Custom headers that should be sent along to [Companion](/docs/companion) on -every request (`Object`, default: `{}`). - -#### `companionAllowedHosts` - -The valid and authorised URL(s) from which OAuth responses should be accepted -(`string` or `RegExp` or `Array`, default: `companionUrl`). - -This value can be a `string`, a `RegExp` pattern, or an `Array` of both. This is -useful when you have your [Companion](/docs/companion) running on several hosts. -Otherwise, the default value should do fine. - -#### `companionCookiesRule` - -This option correlates to the -[RequestCredentials value](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials) -(`string`, default: `'same-origin'`). - -This tells the plugin whether to send cookies to [Companion](/docs/companion). - -#### `locale` - -```js -export default { - strings: { - pluginNameDropbox: 'Dropbox', - }, -}; -``` + [template-credentials]: https://transloadit.com/docs/#how-to-create-template-credentials diff --git a/docs/sources/companion-plugins/facebook.mdx b/docs/sources/companion-plugins/facebook.mdx index dcc496809..41b76f3c0 100644 --- a/docs/sources/companion-plugins/facebook.mdx +++ b/docs/sources/companion-plugins/facebook.mdx @@ -6,6 +6,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import UppyCdnExample from '/src/components/UppyCdnExample'; +import CompanionOptions from './_companion-options.mdx'; # Facebook @@ -168,56 +169,7 @@ companion.app({ ### Options -#### `id` - -A unique identifier for this plugin (`string`, default: `'Facebook'`). - -#### `title` - -Title / name shown in the UI, such as Dashboard tabs (`string`, default: -`'Facebook'`). - -#### `target` - -DOM element, CSS selector, or plugin to place the drag and drop area into -(`string`, `Element`, `Function`, or `UIPlugin`, default: -[`Dashboard`](/docs/dashboard)). - -#### `companionUrl` - -URL to a [Companion](/docs/companion) instance (`string`, default: `null`). - -#### `companionHeaders` - -Custom headers that should be sent along to [Companion](/docs/companion) on -every request (`Object`, default: `{}`). - -#### `companionAllowedHosts` - -The valid and authorised URL(s) from which OAuth responses should be accepted -(`string` or `RegExp` or `Array`, default: `companionUrl`). - -This value can be a `string`, a `RegExp` pattern, or an `Array` of both. This is -useful when you have your [Companion](/docs/companion) running on several hosts. -Otherwise, the default value should do fine. - -#### `companionCookiesRule` - -This option correlates to the -[RequestCredentials value](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials) -(`string`, default: `'same-origin'`). - -This tells the plugin whether to send cookies to [Companion](/docs/companion). - -#### `locale` - -```js -export default { - strings: { - pluginNameFacebook: 'Facebook', - }, -}; -``` + [template-credentials]: https://transloadit.com/docs/#how-to-create-template-credentials diff --git a/docs/sources/companion-plugins/google-drive-picker.mdx b/docs/sources/companion-plugins/google-drive-picker.mdx new file mode 100644 index 000000000..6f01b8553 --- /dev/null +++ b/docs/sources/companion-plugins/google-drive-picker.mdx @@ -0,0 +1,148 @@ +--- +slug: /google-drive-picker +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +import UppyCdnExample from '/src/components/UppyCdnExample'; +import CompanionOptions from './_companion-options.mdx'; + +# Google Drive Picker + +The `@uppy/google-drive-picker` plugin lets users import files from their +[Google Drive](https://drive.google.com) account using the new +[Picker API](https://developers.google.com/drive/picker). + +A [Companion](/docs/companion) instance is required for the Google Drive Picker +plugin to work. Companion downloads the files from Google Drive, and uploads +them to the destination. This saves the user bandwidth, especially helpful if +they are on a mobile connection. + +You can self-host Companion or get a hosted version with any +[Transloadit plan](https://transloadit.com/pricing/). + +See also [Google Photos Picker](./google-photos-picker.mdx). + +## When should I use this? + +When you want to let users import files from their +[Google Drive](https://drive.google.com) account. + +You should use this plugin over our other +[Google Drive plugin](/docs/google-drive) if you want to avoid using a +restricted API scope, which requires CASA Tier 2 compliance. + +The downside of using the Picker UI made by Google is less controls, inability +to select folders, downloading an additional bundle, and a less consistent user +experience. + + + + +```shell +npm install @uppy/google-drive-picker +``` + + + + + +```shell +yarn add @uppy/google-drive-picker +``` + + + + + + {` + import { Uppy, GoogleDrivePicker } from "{{UPPY_JS_URL}}" + const uppy = new Uppy() + uppy.use(GoogleDrivePicker, { + // Options + }) + `} + + + + +## Use + +Using Google Drive Picker requires setup in both Uppy and Companion. + +### Initial setup + +To sign up for API keys, go to the +[Google Developer Console](https://console.developers.google.com/). + +Create a project for your app if you don’t have one yet. + +- On the project’s dashboard, enable the + [Google Picker API](https://console.cloud.google.com/apis/library/picker.googleapis.com) + (for Google Drive). +- Create an API key. +- Create an OAuth 2.0 Client ID of type Web application with the correct + Authorized JavaScript origins. + +### Use in Uppy + +```js {10-13} showLineNumbers +import Uppy from '@uppy/core'; +import Dashboard from '@uppy/dashboard'; +import GoogleDrivePicker from '@uppy/google-drive-picker'; + +import '@uppy/core/dist/style.min.css'; +import '@uppy/dashboard/dist/style.min.css'; + +new Uppy() + .use(Dashboard, { inline: true, target: '#dashboard' }) + .use(GoogleDrivePicker, { + companionUrl: 'https://your-companion.com', + clientId: 'From Google Developer Console', + apiKey: 'From Google Developer Console', + appId: 'From Google Developer Console', + }); +``` + +### Use with Transloadit + +```js +import { COMPANION_URL, COMPANION_ALLOWED_HOSTS } from '@uppy/transloadit'; +import GoogleDrivePicker from '@uppy/google-drive-picker'; + +uppy.use(GoogleDrivePicker, { + companionUrl: COMPANION_URL, + companionAllowedHosts: COMPANION_ALLOWED_HOSTS, + clientId: 'From Google Developer Console', + apiKey: 'From Google Developer Console', + appId: 'From Google Developer Console', +}); +``` + +### Use in Companion + +Companion is used to download/upload the picked files. Companion supports this +plugin out-of-the-box, however it must be enabled in Companion with the +`enableGooglePickerEndpoint` / `COMPANION_ENABLE_GOOGLE_PICKER_ENDPOINT` option. +For this plugin, all credentials are public (non-secret) and provided in the +frontend. + +## API + +### Options + + + +#### `clientId` + +The client ID from the [Initial setup](#initial-setup) (`string`). + +#### `apiKey` + +The API key from the [Initial setup](#initial-setup) (`string`). + +#### `appId` + +The App ID is the project ID which can be found in the URL in the Google +Developer Console (`string`). diff --git a/docs/sources/companion-plugins/google-drive.mdx b/docs/sources/companion-plugins/google-drive.mdx index c682464ec..649cf9636 100644 --- a/docs/sources/companion-plugins/google-drive.mdx +++ b/docs/sources/companion-plugins/google-drive.mdx @@ -6,12 +6,21 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import UppyCdnExample from '/src/components/UppyCdnExample'; +import CompanionOptions from './_companion-options.mdx'; # Google Drive The `@uppy/google-drive` plugin lets users import files from their [Google Drive](https://drive.google.com) account. +A [Companion](/docs/companion) instance is required for the Google Drive plugin +to work. Companion handles authentication with Google Drive, downloads the +files, and uploads them to the destination. This saves the user bandwidth, +especially helpful if they are on a mobile connection. + +You can self-host Companion or get a hosted version with any +[Transloadit plan](https://transloadit.com/pricing/). + :::tip [Try out the live example](/examples) or take it for a spin in @@ -24,13 +33,14 @@ The `@uppy/google-drive` plugin lets users import files from their When you want to let users import files from their [Google Drive](https://drive.google.com) account. -A [Companion](/docs/companion) instance is required for the Google Drive plugin -to work. Companion handles authentication with Google Drive, downloads the -files, and uploads them to the destination. This saves the user bandwidth, -especially helpful if they are on a mobile connection. +You should use this plugin over the +[Google Drive Picker plugin](/docs/google-drive-picker) if you prefer a UI with +more controls, the ability to select folders, a leaner bundle size, and a more +consistent user experience. -You can self-host Companion or get a hosted version with any -[Transloadit plan](https://transloadit.com/pricing/). +The downside is it needs a restricted API scope, which requires CASA Tier 2 +compliance. This could take months to obtain and potentially a third-party +security audit. @@ -172,56 +182,7 @@ companion.app({ ### Options -#### `id` - -A unique identifier for this plugin (`string`, default: `'GoogleDrive'`). - -#### `title` - -Title / name shown in the UI, such as Dashboard tabs (`string`, default: -`'GoogleDrive'`). - -#### `target` - -DOM element, CSS selector, or plugin to place the drag and drop area into -(`string`, `Element`, `Function`, or `UIPlugin`, default: -[`Dashboard`](/docs/dashboard)). - -#### `companionUrl` - -URL to a [Companion](/docs/companion) instance (`string`, default: `null`). - -#### `companionHeaders` - -Custom headers that should be sent along to [Companion](/docs/companion) on -every request (`Object`, default: `{}`). - -#### `companionAllowedHosts` - -The valid and authorised URL(s) from which OAuth responses should be accepted -(`string` or `RegExp` or `Array`, default: `companionUrl`). - -This value can be a `string`, a `RegExp` pattern, or an `Array` of both. This is -useful when you have your [Companion](/docs/companion) running on several hosts. -Otherwise, the default value should do fine. - -#### `companionCookiesRule` - -This option correlates to the -[RequestCredentials value](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials) -(`string`, default: `'same-origin'`). - -This tells the plugin whether to send cookies to [Companion](/docs/companion). - -#### `locale` - -```js -export default { - strings: { - pluginNameGoogleDrive: 'GoogleDrive', - }, -}; -``` + [template-credentials]: https://transloadit.com/docs/#how-to-create-template-credentials diff --git a/docs/sources/companion-plugins/google-photos-picker.mdx b/docs/sources/companion-plugins/google-photos-picker.mdx new file mode 100644 index 000000000..31b5b4ffb --- /dev/null +++ b/docs/sources/companion-plugins/google-photos-picker.mdx @@ -0,0 +1,133 @@ +--- +slug: /google-photos-picker +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +import UppyCdnExample from '/src/components/UppyCdnExample'; +import CompanionOptions from './_companion-options.mdx'; + +# Google Photos Picker + +The `@uppy/google-photos-picker` plugin lets users import files from their +[Google Drive](https://drive.google.com) account using the new +[Picker API](https://developers.google.com/photos/picker). + +A [Companion](/docs/companion) instance is required for the Google Drive Picker +plugin to work. Companion downloads the files from Google Drive, and uploads +them to the destination. This saves the user bandwidth, especially helpful if +they are on a mobile connection. + +You can self-host Companion or get a hosted version with any +[Transloadit plan](https://transloadit.com/pricing/). + +See also [Google Drive Picker](./google-drive-picker.mdx). + +## When should I use this? + +When you want to let users import files from their +[Google Photos](https://photos.google.com) account. + +You should use this plugin over our other +[Google Photos plugin](/docs/google-photos) if you want to avoid using a +restricted API scope, which requires CASA Tier 2 compliance. + +The downside of using the Picker UI made by Google is less controls, inability +to select folders, downloading an additional bundle, and a less consistent user +experience. + + + + +```shell +npm install @uppy/google-photos-picker +``` + + + + + +```shell +yarn add @uppy/google-photos-picker +``` + + + + + + {` + import { Uppy, GooglePhotosPicker } from "{{UPPY_JS_URL}}" + const uppy = new Uppy() + uppy.use(GooglePhotosPicker, { + // Options + }) + `} + + + + +## Use + +Using Google Photos Picker requires setup in both Uppy and Companion. + +### Initial setup + +To sign up for API keys, go to the +[Google Developer Console](https://console.developers.google.com/). + +Create a project for your app if you don’t have one yet. + +- On the project’s dashboard, enable the + [Google Photos Picker API](https://console.cloud.google.com/apis/library/photospicker.googleapis.com). +- Create an OAuth 2.0 Client ID of type Web application with the correct + Authorized JavaScript origins. + +### Use in Uppy + +```js {10-13} showLineNumbers +import Uppy from '@uppy/core'; +import Dashboard from '@uppy/dashboard'; +import GooglePhotosPicker from '@uppy/google-photos-picker'; + +import '@uppy/core/dist/style.min.css'; +import '@uppy/dashboard/dist/style.min.css'; + +new Uppy() + .use(Dashboard, { inline: true, target: '#dashboard' }) + .use(GooglePhotosPicker, { + companionUrl: 'https://your-companion.com', + clientId: 'From Google Developer Console', + }); +``` + +### Use with Transloadit + +```js +import { COMPANION_URL, COMPANION_ALLOWED_HOSTS } from '@uppy/transloadit'; +import GooglePhotosPicker from '@uppy/google-photos-picker'; + +uppy.use(GooglePhotosPicker, { + companionUrl: COMPANION_URL, + companionAllowedHosts: COMPANION_ALLOWED_HOSTS, + clientId: 'From Google Developer Console', +}); +``` + +### Use in Companion + +Companion is used to download/upload the picked files. Companion supports this +plugin out-of-the-box, however it must be enabled in Companion with the +`enableGooglePickerEndpoint` / `COMPANION_ENABLE_GOOGLE_PICKER_ENDPOINT` option. +For this plugin, all credentials are public (non-secret) and provided in the +frontend. + +## API + +### Options + + + +#### `clientId` + +The client ID from the [Initial setup](#initial-setup) (`string`). diff --git a/docs/sources/companion-plugins/google-photos.mdx b/docs/sources/companion-plugins/google-photos.mdx index e90cfb6e6..6cfc14bd0 100644 --- a/docs/sources/companion-plugins/google-photos.mdx +++ b/docs/sources/companion-plugins/google-photos.mdx @@ -6,11 +6,20 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import UppyCdnExample from '/src/components/UppyCdnExample'; +import CompanionOptions from './_companion-options.mdx'; # Google Photos The `@uppy/google-photos` plugin lets users import files from their -[Google Photos](https://photos.google.com) account. +[Google Drive](https://photos.google.com) account. + +A [Companion](/docs/companion) instance is required for the Google Drive plugin +to work. Companion handles authentication with Google Drive, downloads the +files, and uploads them to the destination. This saves the user bandwidth, +especially helpful if they are on a mobile connection. + +You can self-host Companion or get a hosted version with any +[Transloadit plan](https://transloadit.com/pricing/). :::tip @@ -24,13 +33,14 @@ The `@uppy/google-photos` plugin lets users import files from their When you want to let users import files from their [Google Photos](https://photos.google.com) account. -A [Companion](/docs/companion) instance is required for the Google Photos plugin -to work. Companion handles authentication with Google Photos, downloads the -photos/videos, and uploads them to the destination. This saves the user -bandwidth, especially helpful if they are on a mobile connection. +You should use this plugin over the +[Google Photos Picker plugin](/docs/google-photos-picker) if you prefer a UI +with more controls, the ability to select folders, a leaner bundle size, and a +more consistent user experience. -You can self-host Companion or get a hosted version with any -[Transloadit plan](https://transloadit.com/pricing/). +The downside is it needs a restricted API scope, which requires CASA Tier 2 +compliance. This could take months to obtain and potentially a third-party +security audit. @@ -169,55 +179,7 @@ companion.app({ ### Options -#### `id` - -A unique identifier for this plugin (`string`, default: `'GooglePhotos'`). - -#### `title` - -Title / name shown in the UI, such as Dashboard tabs (`string`, default: -`'GooglePhotos'`). - -#### `target` - -DOM element, CSS selector, or plugin to place the drag and drop area into -(`string` or `Element`, default: `null`). - -#### `companionUrl` - -URL to a [Companion](/docs/companion) instance (`string`, default: `null`). - -#### `companionHeaders` - -Custom headers that should be sent along to [Companion](/docs/companion) on -every request (`Object`, default: `{}`). - -#### `companionAllowedHosts` - -The valid and authorised URL(s) from which OAuth responses should be accepted -(`string` or `RegExp` or `Array`, default: `companionUrl`). - -This value can be a `string`, a `RegExp` pattern, or an `Array` of both. This is -useful when you have your [Companion](/docs/companion) running on several hosts. -Otherwise, the default value should do fine. - -#### `companionCookiesRule` - -This option correlates to the -[RequestCredentials value](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials) -(`string`, default: `'same-origin'`). - -This tells the plugin whether to send cookies to [Companion](/docs/companion). - -#### `locale` - -```js -export default { - strings: { - pluginNameGooglePhotos: 'GooglePhotos', - }, -}; -``` + [template-credentials]: https://transloadit.com/docs/#how-to-create-template-credentials diff --git a/docs/sources/companion-plugins/instagram.mdx b/docs/sources/companion-plugins/instagram.mdx index ca920d86c..cdfec7098 100644 --- a/docs/sources/companion-plugins/instagram.mdx +++ b/docs/sources/companion-plugins/instagram.mdx @@ -6,6 +6,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import UppyCdnExample from '/src/components/UppyCdnExample'; +import CompanionOptions from './_companion-options.mdx'; # Instagram @@ -181,56 +182,7 @@ page, in the “Valid OAuth Redirect URIs” field, add ### Options -#### `id` - -A unique identifier for this plugin (`string`, default: `'Instagram'`). - -#### `title` - -Title / name shown in the UI, such as Dashboard tabs (`string`, default: -`'Instagram'`). - -#### `target` - -DOM element, CSS selector, or plugin to place the drag and drop area into -(`string`, `Element`, `Function`, or `UIPlugin`, default: -[`Dashboard`](/docs/dashboard)). - -#### `companionUrl` - -URL to a [Companion](/docs/companion) instance (`string`, default: `null`). - -#### `companionHeaders` - -Custom headers that should be sent along to [Companion](/docs/companion) on -every request (`Object`, default: `{}`). - -#### `companionAllowedHosts` - -The valid and authorised URL(s) from which OAuth responses should be accepted -(`string` or `RegExp` or `Array`, default: `companionUrl`). - -This value can be a `string`, a `RegExp` pattern, or an `Array` of both. This is -useful when you have your [Companion](/docs/companion) running on several hosts. -Otherwise, the default value should do fine. - -#### `companionCookiesRule` - -This option correlates to the -[RequestCredentials value](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials) -(`string`, default: `'same-origin'`). - -This tells the plugin whether to send cookies to [Companion](/docs/companion). - -#### `locale` - -```js -export default { - strings: { - pluginNameInstagram: 'Instagram', - }, -}; -``` + [template-credentials]: https://transloadit.com/docs/#how-to-create-template-credentials diff --git a/docs/sources/companion-plugins/onedrive.mdx b/docs/sources/companion-plugins/onedrive.mdx index b91c3931e..9cd7c8c2a 100644 --- a/docs/sources/companion-plugins/onedrive.mdx +++ b/docs/sources/companion-plugins/onedrive.mdx @@ -6,6 +6,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import UppyCdnExample from '/src/components/UppyCdnExample'; +import CompanionOptions from './_companion-options.mdx'; # OneDrive @@ -169,56 +170,7 @@ companion.app({ ### Options -#### `id` - -A unique identifier for this plugin (`string`, default: `'OneDrive'`). - -#### `title` - -Title / name shown in the UI, such as Dashboard tabs (`string`, default: -`'OneDrive'`). - -#### `target` - -DOM element, CSS selector, or plugin to place the drag and drop area into -(`string`, `Element`, `Function`, or `UIPlugin`, default: -[`Dashboard`](/docs/dashboard)). - -#### `companionUrl` - -URL to a [Companion](/docs/companion) instance (`string`, default: `null`). - -#### `companionHeaders` - -Custom headers that should be sent along to [Companion](/docs/companion) on -every request (`Object`, default: `{}`). - -#### `companionAllowedHosts` - -The valid and authorised URL(s) from which OAuth responses should be accepted -(`string` or `RegExp` or `Array`, default: `companionUrl`). - -This value can be a `string`, a `RegExp` pattern, or an `Array` of both. This is -useful when you have your [Companion](/docs/companion) running on several hosts. -Otherwise, the default value should do fine. - -#### `companionCookiesRule` - -This option correlates to the -[RequestCredentials value](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials) -(`string`, default: `'same-origin'`). - -This tells the plugin whether to send cookies to [Companion](/docs/companion). - -#### `locale` - -```js -export default { - strings: { - pluginNameOneDrive: 'OneDrive', - }, -}; -``` + [template-credentials]: https://transloadit.com/docs/#how-to-create-template-credentials diff --git a/docs/sources/companion-plugins/unsplash.mdx b/docs/sources/companion-plugins/unsplash.mdx index 1287729ae..08c4500d0 100644 --- a/docs/sources/companion-plugins/unsplash.mdx +++ b/docs/sources/companion-plugins/unsplash.mdx @@ -6,6 +6,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import UppyCdnExample from '/src/components/UppyCdnExample'; +import CompanionOptions from './_companion-options.mdx'; # Unsplash @@ -147,56 +148,7 @@ companion.app({ ### Options -#### `id` - -A unique identifier for this plugin (`string`, default: `'Unsplash'`). - -#### `title` - -Title / name shown in the UI, such as Dashboard tabs (`string`, default: -`'Unsplash'`). - -#### `target` - -DOM element, CSS selector, or plugin to place the drag and drop area into -(`string`, `Element`, `Function`, or `UIPlugin`, default: -[`Dashboard`](/docs/dashboard)). - -#### `companionUrl` - -URL to a [Companion](/docs/companion) instance (`string`, default: `null`). - -#### `companionHeaders` - -Custom headers that should be sent along to [Companion](/docs/companion) on -every request (`Object`, default: `{}`). - -#### `companionAllowedHosts` - -The valid and authorised URL(s) from which OAuth responses should be accepted -(`string` or `RegExp` or `Array`, default: `companionUrl`). - -This value can be a `string`, a `RegExp` pattern, or an `Array` of both. This is -useful when you have your [Companion](/docs/companion) running on several hosts. -Otherwise, the default value should do fine. - -#### `companionCookiesRule` - -This option correlates to the -[RequestCredentials value](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials) -(`string`, default: `'same-origin'`). - -This tells the plugin whether to send cookies to [Companion](/docs/companion). - -#### `locale` - -```js -export default { - strings: { - pluginNameUnsplash: 'Unsplash', - }, -}; -``` + [template-credentials]: https://transloadit.com/docs/#how-to-create-template-credentials diff --git a/docs/sources/companion-plugins/url.mdx b/docs/sources/companion-plugins/url.mdx index 52892db58..fc72b037d 100644 --- a/docs/sources/companion-plugins/url.mdx +++ b/docs/sources/companion-plugins/url.mdx @@ -6,6 +6,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import UppyCdnExample from '/src/components/UppyCdnExample'; +import CompanionOptions from './_companion-options.mdx'; # Import from URL @@ -133,56 +134,7 @@ Companion with the `enableUrlEndpoint` / `COMPANION_ENABLE_URL_ENDPOINT` option. ### Options -#### `id` - -A unique identifier for this plugin (`string`, default: `'Url'`). - -#### `title` - -Title / name shown in the UI, such as Dashboard tabs (`string`, default: -`'Url'`). - -#### `target` - -DOM element, CSS selector, or plugin to place the drag and drop area into -(`string`, `Element`, `Function`, or `UIPlugin`, default: -[`Dashboard`](/docs/dashboard)). - -#### `companionUrl` - -URL to a [Companion](/docs/companion) instance (`string`, default: `null`). - -#### `companionHeaders` - -Custom headers that should be sent along to [Companion](/docs/companion) on -every request (`Object`, default: `{}`). - -#### `companionAllowedHosts` - -The valid and authorised URL(s) from which OAuth responses should be accepted -(`string` or `RegExp` or `Array`, default: `companionUrl`). - -This value can be a `string`, a `RegExp` pattern, or an `Array` of both. This is -useful when you have your [Companion](/docs/companion) running on several hosts. -Otherwise, the default value should do fine. - -#### `companionCookiesRule` - -This option correlates to the -[RequestCredentials value](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials) -(`string`, default: `'same-origin'`). - -This tells the plugin whether to send cookies to [Companion](/docs/companion). - -#### `locale` - -```js -export default { - strings: { - pluginNameUrl: 'Url', - }, -}; -``` + [template-credentials]: https://transloadit.com/docs/#how-to-create-template-credentials diff --git a/docs/sources/companion-plugins/zoom.mdx b/docs/sources/companion-plugins/zoom.mdx index 83dbbc7c0..ee0ec9ae8 100644 --- a/docs/sources/companion-plugins/zoom.mdx +++ b/docs/sources/companion-plugins/zoom.mdx @@ -6,6 +6,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import UppyCdnExample from '/src/components/UppyCdnExample'; +import CompanionOptions from './_companion-options.mdx'; # Zoom @@ -172,56 +173,7 @@ To sign up for API keys, go through the following steps: ### Options -#### `id` - -A unique identifier for this plugin (`string`, default: `'Zoom'`). - -#### `title` - -Title / name shown in the UI, such as Dashboard tabs (`string`, default: -`'Zoom'`). - -#### `target` - -DOM element, CSS selector, or plugin to place the drag and drop area into -(`string`, `Element`, `Function`, or `UIPlugin`, default: -[`Dashboard`](/docs/dashboard)). - -#### `companionUrl` - -URL to a [Companion](/docs/companion) instance (`string`, default: `null`). - -#### `companionHeaders` - -Custom headers that should be sent along to [Companion](/docs/companion) on -every request (`Object`, default: `{}`). - -#### `companionAllowedHosts` - -The valid and authorised URL(s) from which OAuth responses should be accepted -(`string` or `RegExp` or `Array`, default: `companionUrl`). - -This value can be a `string`, a `RegExp` pattern, or an `Array` of both. This is -useful when you have your [Companion](/docs/companion) running on several hosts. -Otherwise, the default value should do fine. - -#### `companionCookiesRule` - -This option correlates to the -[RequestCredentials value](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials) -(`string`, default: `'same-origin'`). - -This tells the plugin whether to send cookies to [Companion](/docs/companion). - -#### `locale` - -```js -export default { - strings: { - pluginNameZoom: 'Zoom', - }, -}; -``` + [template-credentials]: https://transloadit.com/docs/#how-to-create-template-credentials diff --git a/docs/user-interfaces/dashboard.mdx b/docs/user-interfaces/dashboard.mdx index 340efbd4e..07d6d4fbd 100644 --- a/docs/user-interfaces/dashboard.mdx +++ b/docs/user-interfaces/dashboard.mdx @@ -716,6 +716,10 @@ all Uppy plugins. [Google Drive](https://drive.google.com). - [`@uppy/google-photos`](/docs/google-photos) — import from [Google Photos](https://photos.google.com). +- [`@uppy/google-drive-picker`](/docs/google-drive-picker) — import from + [Google Drive](https://drive.google.com) using the new Picker API. +- [`@uppy/google-photos-picker`](/docs/google-photos-picker) — import from + [Google Photos](https://drive.google.com) using the new Picker API. - [`@uppy/instagram`](/docs/instagram) — import from [Instagram](https://instagram.com). - [`@uppy/onedrive`](/docs/onedrive) — import from