get

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 26, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Command = &cobra.Command{
	Use:   "get",
	Short: "Get data from a spreadsheet",
	PreRunE: func(cmd *cobra.Command, args []string) error {
		if cmd.Flag("spreadsheet-id").Value.String() == "" {
			return fmt.Errorf("spreadsheet ID is required")
		}

		if len(args) == 0 {
			return fmt.Errorf("range is required")
		}

		return nil
	},
	RunE: func(cmd *cobra.Command, args []string) error {
		ctx := cmd.Context()

		client := ctx.Value(shared.ClientContextKey).(*http.Client)

		srv, err := sheets.NewService(ctx, option.WithHTTPClient(client))
		if err != nil {
			return fmt.Errorf("error retrieving Sheets client: %w", err)
		}

		spreadsheetId := cmd.Flag("spreadsheet-id").Value.String()
		encoder := json.NewEncoder(os.Stdout)

		for _, arg := range args {
			resp, err := srv.Spreadsheets.Values.Get(spreadsheetId, arg).Do()
			if err != nil {
				return fmt.Errorf("error retrieving data from sheet: %w", err)
			}

			if err := encoder.Encode(resp.Values); err != nil {
				return fmt.Errorf("error encoding JSON: %w", err)
			}
		}

		return nil
	},
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL