api

package
v0.10.7 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2023 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(redirectURL string) 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.

func (Authenticator) Service

func (a Authenticator) Service(ctx context.Context, token io.Reader) (*gmail.Service, error)

Service creates a Gmail API service from a token JSON file contents.

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

type GmailAPI

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

GmailAPI is a wrapper around the Gmail APIs.

func NewFromService

func NewFromService(s *gmail.Service) *GmailAPI

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

func NewWithAPIKey

func NewWithAPIKey(s *gmail.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

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

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

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