aboutsummaryrefslogtreecommitdiffstats
path: root/handlers_drive.go
diff options
context:
space:
mode:
Diffstat (limited to 'handlers_drive.go')
-rw-r--r--handlers_drive.go13
1 files changed, 11 insertions, 2 deletions
diff --git a/handlers_drive.go b/handlers_drive.go
index 13ba9c0..4fa00cf 100644
--- a/handlers_drive.go
+++ b/handlers_drive.go
@@ -6,6 +6,7 @@ import (
"io"
"io/ioutil"
"path/filepath"
+ "net/http"
"./cli"
"./auth"
"./drive"
@@ -309,10 +310,18 @@ func aboutExportHandler(ctx cli.Context) {
checkErr(err)
}
-func newDrive(args cli.Arguments) *drive.Drive {
+func getOauthClient(args cli.Arguments) (*http.Client, error) {
+ if args.String("refreshToken") != "" {
+ return auth.NewRefreshTokenClient(ClientId, ClientSecret, args.String("refreshToken")), nil
+ }
+
configDir := args.String("configDir")
tokenPath := ConfigFilePath(configDir, TokenFilename)
- oauth, err := auth.NewOauthClient(ClientId, ClientSecret, tokenPath, authCodePrompt)
+ return auth.NewFileSourceClient(ClientId, ClientSecret, tokenPath, authCodePrompt)
+}
+
+func newDrive(args cli.Arguments) *drive.Drive {
+ oauth, err := getOauthClient(args)
if err != nil {
ExitF("Failed getting oauth client: %s", err.Error())
}