示例#1
0
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)
}