go-google-email-audit-api

module
v0.0.0-...-0c1b395 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2016 License: BSD-3-Clause

README

go-google-email-audit-api

Build Status GoDoc Go Report Card Coverage Status

Go Client Library for Google Email Audit API

go get -u github.com/ngs/go-google-email-audit-api/emailaudit

Email Monitor API

import (
	// ...
	"github.com/ngs/go-google-email-audit-api/emailaudit"
)

func main() {
	// ...
	srv, err := emailaudit.New(client) // client = http.Client
	if err != nil {
		log.Fatalf("Unable to retrieve Email Audit API Client %v", err)
	}
	endDate := time.Date(2116, time.October, 31, 23, 59, 59, 0, time.UTC)

	// Create or update Email Monitor
	monitor, err := srv.MailMonitor.Update("example.com",
		"ngs", "kyohei", endDate,
		emailaudit.MailMonitorLevels{
			IncomingEmail: emailaudit.FullMessageLevel,
			OutgoingEmail: emailaudit.FullMessageLevel,
			Draft:         emailaudit.FullMessageLevel,
			Chat:          emailaudit.FullMessageLevel,
		},
	)
	if err != nil {
		log.Fatalf("Unable to update email monitor. %v", err)
	}

	// List Email Monitors
	monitors, err := srv.MailMonitor.List("example.com", "ngs")
	if err != nil {
		log.Fatalf("Unable to list email monitor. %v", err)
	}
	for _, m := range monitors {
		fmt.Printf("%v %v@%v chat:%v draft:%v incoming:%v outgoing:%v\n",
			m.Updated, m.DestUserName, m.DomainName,
			m.MonitorLevels.Chat, m.MonitorLevels.Draft,
			m.MonitorLevels.IncomingEmail, m.MonitorLevels.OutgoingEmail)
	}

	// Disable Email Monitor
	err = srv.MailMonitor.Disable("example.com", "ngs", "kyohei")
	if err != nil {
		log.Fatalf("Unable to disable email monitor. %v", err)
	}
}

Mailbox Download

Not yet implemented

Author

Atsushi Nagase

License

See LICENSE

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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