Dropbox app key (OAuth client ID). Required.
OptionalisOptional guard for saving into Dropbox. The upload itself is performed by the library; this only decides whether a given document may be written to a given target. Omit it to allow every save. See AllowSaveGuard.
OptionalredirectOAuth redirect URI registered in the Dropbox app console.
Defaults to the redirect page shipped with the package:
<origin>/pwv-dropbox/redirect.html (serve the package's public/
folder at your web root and register that exact URL — the match is
exact, path included). Most web integrators should omit this.
Override it only for a non-root asset path, or for desktop shells: a
cross-origin loopback URI (e.g. http://127.0.0.1:<port>/dropbox-callback)
switches the connector into the external system-browser flow.
OptionalscopesDelegated Dropbox scopes requested at connect time. Defaults to
['account_info.read', 'files.metadata.read', 'files.content.read', 'files.content.write']
— read-write, so saving back to Dropbox works out of the box; drop
files.content.write for a read-only integration.
Set [] for a LEGACY (pre-scoped-access) Dropbox app: those reject any
requested scope ("must be at most 0 characters"), so an empty list makes
the connector omit the scope parameter entirely and the token carries
whatever permissions the app registration implies.
Dropbox integration configuration.
When supplied, the viewer shows a "Dropbox" card on the empty ("home") screen with a Connect action. The library performs the OAuth flow itself (authorization code + PKCE, no client secret) using the integrator-provided app key and lists the user's recent Dropbox PDFs / lets them browse folders.
The integrator creates an app in the Dropbox App Console (scoped access), grants the delegated scopes matching IDropboxConfig.scopes, and adds IDropboxConfig.redirectUri to the app's OAuth 2 "Redirect URIs". Because Dropbox issues refresh tokens to PKCE browser clients, the connection is refreshed silently and survives reloads without a backend.