2022-08-30 21:52:06 +08:00
|
|
|
package onedrive
|
|
|
|
|
|
|
|
|
|
import (
|
2025-07-01 09:54:50 +08:00
|
|
|
"github.com/OpenListTeam/OpenList/v4/internal/driver"
|
|
|
|
|
"github.com/OpenListTeam/OpenList/v4/internal/op"
|
2022-08-30 21:52:06 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type Addition struct {
|
2022-09-04 13:07:53 +08:00
|
|
|
driver.RootPath
|
2025-09-29 23:26:56 +08:00
|
|
|
Region string `json:"region" type:"select" required:"true" options:"global,cn,us,de" default:"global"`
|
|
|
|
|
IsSharepoint bool `json:"is_sharepoint"`
|
|
|
|
|
UseOnlineAPI bool `json:"use_online_api" default:"true"`
|
|
|
|
|
APIAddress string `json:"api_url_address" default:"https://api.oplist.org/onedrive/renewapi"`
|
|
|
|
|
ClientID string `json:"client_id"`
|
|
|
|
|
ClientSecret string `json:"client_secret"`
|
|
|
|
|
RedirectUri string `json:"redirect_uri" required:"true" default:"https://api.oplist.org/onedrive/callback"`
|
|
|
|
|
RefreshToken string `json:"refresh_token" required:"true"`
|
|
|
|
|
SiteId string `json:"site_id"`
|
|
|
|
|
ChunkSize int64 `json:"chunk_size" type:"number" default:"5"`
|
|
|
|
|
CustomHost string `json:"custom_host" help:"Custom host for onedrive download link"`
|
|
|
|
|
DisableDiskUsage bool `json:"disable_disk_usage" default:"false"`
|
2025-11-06 23:22:02 +08:00
|
|
|
EnableDirectUpload bool `json:"enable_direct_upload" default:"false" help:"Enable direct upload from client to OneDrive"`
|
2022-08-30 21:52:06 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var config = driver.Config{
|
2022-09-01 22:13:37 +08:00
|
|
|
Name: "Onedrive",
|
2022-08-30 21:52:06 +08:00
|
|
|
LocalSort: true,
|
|
|
|
|
DefaultRoot: "/",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func init() {
|
2022-12-13 18:03:30 +08:00
|
|
|
op.RegisterDriver(func() driver.Driver {
|
|
|
|
|
return &Onedrive{}
|
|
|
|
|
})
|
2022-08-30 21:52:06 +08:00
|
|
|
}
|