func DefaultTokenSource(ctx context.Context, scope ...string) (oauth2.TokenSource, error) {
	creds, err := FindDefaultCredentials(ctx, scope...)
	if err != nil {
		return nil, err
	}
	return creds.TokenSource, nil
}
DefaultTokenSource returns the token source for
"Application Default Credentials".
It is a shortcut for FindDefaultCredentials(ctx, scope).TokenSource.
package google
import (
	"context"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
	"os"
	"path/filepath"
	"runtime"
	"cloud.google.com/go/compute/metadata"
	"golang.org/x/oauth2"
)
type Credentials struct {
	ProjectID   string  
	TokenSource oauth2.TokenSource
	JSON []byte
}
type DefaultCredentials = Credentials
func DefaultClient(ctx context.Context, scope ...string) (*http.Client, error) {
	ts, err := DefaultTokenSource(ctx, scope...)
	if err != nil {
		return nil, err
	}
	return oauth2.NewClient(ctx, ts), nil
}