func newOAuthClient(ctx context.Context, config *oauth2.Config, cfg *config.Config) *http.Client { cacheFile := tokenCacheFile(config) token, err := tokenFromFile(cacheFile) if err != nil { token = tokenFromWeb(ctx, config, cfg) token.RefreshToken = cfg.GetYoutubeRefreshToken() saveToken(cacheFile, token) } else { fmt.Printf("Using cached token from %q\n", cacheFile) } return config.Client(ctx, token) }