You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+60Lines changed: 60 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,6 +52,66 @@ Cloud storage vendors expose distinct SDKs, option models, and authentication pa
52
52
|[ManagedCode.Storage.FileSystem](https://www.nuget.org/packages/ManagedCode.Storage.FileSystem)|[](https://www.nuget.org/packages/ManagedCode.Storage.FileSystem)| Local file system implementation for hybrid or on-premises workloads. |
53
53
|[ManagedCode.Storage.Sftp](https://www.nuget.org/packages/ManagedCode.Storage.Sftp)|[](https://www.nuget.org/packages/ManagedCode.Storage.Sftp)| SFTP provider powered by SSH.NET for legacy and air-gapped environments. |
54
54
55
+
### Configuring OneDrive, Google Drive, and Dropbox
56
+
57
+
> iCloud does not expose a public file API suitable for server-side integrations, so only Microsoft, Google, and Dropbox cloud drives are covered here.
58
+
59
+
**OneDrive / Microsoft Graph**
60
+
61
+
1. Create an app registration in Azure Active Directory (Entra ID) and record the **Application (client) ID**, **Directory (tenant) ID**, and a **client secret**.
62
+
2. Add the Microsoft Graph **Files.ReadWrite.All** delegated permission (or **Sites.ReadWrite.All** if you target SharePoint drives) and grant admin consent.
63
+
3. In your ASP.NET app, acquire a token via `ClientSecretCredential` or another `TokenCredential` and pass it to `new GraphServiceClient(credential, new[] { "https://graph.microsoft.com/.default" })`.
64
+
4. Register OneDrive storage with the Graph client and the drive/root you want to scope to:
options.RootFolderId="root"; // or a shared drive folder id
92
+
});
93
+
```
94
+
95
+
5. Store tokens in user secrets or environment variables; never commit them to source control.
96
+
97
+
**Dropbox**
98
+
99
+
1. Create an app in the [Dropbox App Console](https://www.dropbox.com/developers/apps) and choose **Scoped access** with the **Full Dropbox** or **App folder** type.
100
+
2. Under **Permissions**, enable `files.content.write`, `files.content.read`, and `files.metadata.write` and generate a refresh token via OAuth.
101
+
3. Register Dropbox storage with the access credentials and a root path (use `/` for full access apps or `/Apps/<your-app>` for app folders):
0 commit comments