api

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Sep 8, 2021 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Authenticator

type Authenticator struct {
	State string
	// contains filtered or unexported fields
}

Authenticator encapsulates authentication operations for Gmail APIs.

func NewAuthenticator

func NewAuthenticator(credentials io.Reader) (*Authenticator, error)

NewAuthenticator creates an Authenticator instance from credentials JSON file contents.

Credentials can be obtained by creating a new OAuth client ID at the Google API console https://console.developers.google.com/apis/credentials.

func (Authenticator) API

func (a Authenticator) API(ctx context.Context, token io.Reader) (*GmailAPI, error)

API creates a GmailAPI instance from a token JSON file contents.

If no token is available, AuthURL and CacheToken can be used to obtain one.

func (Authenticator) AuthURL

func (a Authenticator) AuthURL() string

AuthURL returns the URL the user has to visit to authorize the application and obtain an auth code.

func (Authenticator) CacheToken

func (a Authenticator) CacheToken(ctx context.Context, authCode string, token io.Writer) error

CacheToken creates and caches a token JSON file from an auth code.

The token can be subsequently used to authorize a GmailAPI instance.

type GmailAPI

type GmailAPI struct {
	// contains filtered or unexported fields
}

GmailAPI is a wrapper around the Gmail APIs.

func NewFromService added in v0.8.0

func NewFromService(s *gmailv1.Service) *GmailAPI

NewFromService creates a new GmailAPI instance from the given Gmail service.

func NewWithAPIKey added in v0.8.0

func NewWithAPIKey(s *gmailv1.Service, key string) *GmailAPI

NewWithAPIKey creates a new GmailAPI instance from the given Gmail service and API key.

func (*GmailAPI) AddFilters

func (g *GmailAPI) AddFilters(fs filter.Filters) error

AddFilters creates the given filters.

func (*GmailAPI) AddLabels added in v0.5.0

func (g *GmailAPI) AddLabels(lbs label.Labels) error

AddLabels creates the given labels.

func (*GmailAPI) DeleteFilters

func (g *GmailAPI) DeleteFilters(ids []string) error

DeleteFilters deletes all the given filter IDs.

func (*GmailAPI) DeleteLabels added in v0.5.0

func (g *GmailAPI) DeleteLabels(ids []string) error

DeleteLabels deletes all the given label IDs.

func (*GmailAPI) ListFilters

func (g *GmailAPI) ListFilters() (filter.Filters, error)

ListFilters returns the list of Gmail filters in the settings.

func (*GmailAPI) ListLabels

func (g *GmailAPI) ListLabels() (label.Labels, error)

ListLabels lists the user labels.

func (*GmailAPI) UpdateLabels added in v0.5.0

func (g *GmailAPI) UpdateLabels(lbs label.Labels) error

UpdateLabels modifies the given labels.

The label ID is required for the edit to be successful.

Jump to

Keyboard shortcuts

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